/*functions used for matrix operations */

void mult_matrixvector(double a[3][3], double b[3][1], double *coeff)
{
   int i;
   double result[3][1] = {0};
   for(i=0; i<3; i++)
   {
		  result[i][0] = a[i][0] * b[0][0] + a[i][1] * b[1][0] 
          + a[i][2] * b[2][0];
   }
   for(i=0; i<3; i++)
   {
		  coeff[i] = result[i][0];
   }   
}

void mult_pseudomatrixvector(double a[5][3], double b[3][1], double *coeff)
{
   int i;
   double result[5][1] = {0};
   for(i=0; i<5; i++)
   {
		  result[i][0] = a[i][0] * b[0][0] + a[i][1] * b[1][0] 
          + a[i][2] * b[2][0];
   }
   for(i=0; i<5; i++)
   {
		  coeff[i] = result[i][0];
   }   
}

void mult_pseudomatrixvector2(double a[3][5], double b[5][1], double *coeff)
{
   int i;
   double result[3][1] = {0};
   for(i=0; i<3; i++)
   {
		  result[i][0] = a[i][0] * b[0][0] + a[i][1] * b[1][0] 
          + a[i][2] * b[2][0]+ a[i][3] * b[3][0]+ a[i][4] * b[4][0];
   }
   for(i=0; i<3; i++)
   {
		  coeff[i] = result[i][0];
   }   
}

void mult_matrixmatrix(double a[3][3], double b[3][3], double result[3][3])
{
   int i, j;
   for(i=0; i<3; i++)
   {
       for (j=0; j<3; j++)
       {
		  result[i][j] = a[i][0] * b[0][j] + a[i][1] * b[1][j] 
          + a[i][2] * b[2][j];
       }
   }

}

void matrix_inverse(double a[3][3], double ainv[3][3])
{
    double det;
    
    det = a[0][0]*(a[1][1]*a[2][2]-a[2][1]*a[1][2])
        - a[0][1]*(a[1][0]*a[2][2]-a[2][0]*a[1][2])
        + a[0][2]*(a[1][0]*a[2][1]-a[2][0]*a[1][1]);
    
    ainv[0][0] = (a[1][1]*a[2][2]-a[2][1]*a[1][2])/det;
    ainv[1][0] = (a[1][2]*a[2][0]-a[2][2]*a[1][0])/det;
    ainv[2][0] = (a[1][0]*a[2][1]-a[2][0]*a[1][1])/det;
    
    ainv[0][1] = (a[0][2]*a[2][1]-a[2][2]*a[0][1])/det;
    ainv[1][1] = (a[0][0]*a[2][2]-a[2][0]*a[0][2])/det;
    ainv[2][1] = (a[0][1]*a[2][0]-a[2][1]*a[0][0])/det;
    
    ainv[0][2] = (a[0][1]*a[1][2]-a[1][1]*a[0][2])/det;
    ainv[1][2] = (a[0][2]*a[1][0]-a[1][2]*a[0][0])/det;
    ainv[2][2] = (a[0][0]*a[1][1]-a[1][0]*a[0][1])/det;
}

void pseudo_inverse(double a[3][5], double apinv[5][3])
{
    int i, j;
    double b[3][3], binv[3][3];
    
    for(i=0; i<3; i++)
    {
       for (j=0; j<3; j++)
       {
            b[i][j] = a[i][0] * a[j][0] + a[i][1] * a[j][1] + a[i][2] * a[j][2] 
                    + a[i][3] * a[j][3] + a[i][4] * a[j][4];
       }
    }           
    
    matrix_inverse(b, binv);
     
    for(i=0; i<5; i++)
    {
       for (j=0; j<3; j++)
       {
            apinv[i][j] = a[0][i]*binv[0][j]+a[1][i]*binv[1][j]+a[2][i]*binv[2][j];
       }        
        
    }        
}

void matrix_transpose(double a[3][3], double atr[3][3])
{
    int i, j; 
    
    for(i=0; i<3; i++)
    {   
       for (j=0; j<3; j++)
       {
            atr[i][j] = a[i][j];
       }
        
    }      
}

void cfilter(double Mup, double Mlow, double R, double zeta, 
    double omega, double x0, double x, double dx, double *output)
{
    double SM, SR;
    
    if (x0 >= Mup){
        SM = Mup;
    }
    else if (x0 <= Mlow){
        SM = Mlow;
    }
    else {
        SM = x0;
    }
    if (omega/2/zeta*(SM-x) >= R){
        SR = R;
    }
    else if (omega/2/zeta*(SM-x) <= -R){
        SR = -R;
    }
    else{
        SR = omega/2/zeta*(SM-x);
    }
    output[0] = dx;
    output[1] = 2*zeta*omega*(SR-dx);   
}

double bspline(double u[5], double input)
{
    double N[5][4] = {0};
    double Nleft, Nright;
    int i;
    
    for (i=0;i<4;i++)
    {
        if (input >= u[i] && input < u[i+1])
        {
            N[i][0] = 1.0;
        }
        else
        {
            N[i][0] = 0.0;
        }  
    }
      
    for (i=0;i<3;i++)
    {
        if ((u[i+1]-u[i]) == 0.0)
            Nleft = 0.0;
        else
            Nleft = (input-u[i])/(u[i+1]-u[i])*N[i][0];
        
        if ((u[i+2]-u[i+1]) == 0.0)
            Nright = 0.0;
        else
            Nright = (u[i+2]-input)/(u[i+2]-u[i+1])*N[i+1][0];
        
        N[i][1] = Nleft+Nright;
    }
    for (i=0;i<2;i++)
    {
        if ((u[i+2]-u[i]) == 0.0)
            Nleft = 0.0;
        else
            Nleft = (input-u[i])/(u[i+2]-u[i])*N[i][1];
        
        if ((u[i+3]-u[i+1]) == 0.0)
            Nright = 0.0;
        else
            Nright = (u[i+3]-input)/(u[i+3]-u[i+1])*N[i+1][1];
        N[i][2] = Nleft+Nright;
    }
    for (i=0;i<1;i++)
    {
        if ((u[i+3]-u[i]) == 0.0)
            Nleft = 0.0;
        else
            Nleft = (input-u[i])/(u[i+3]-u[i])*N[i][2];
        
        if ((u[i+4]-u[i+1]) == 0.0)
            Nright = 0.0;
        else
            Nright = (u[i+4]-input)/(u[i+4]-u[i+1])*N[i+1][2];
        N[i][3] = Nleft+Nright;        

    }
    return N[0][3];
}

void bsplinealpha(double input, double output[25])
{
    /*for -20<alpha<90 spaced 5 degrees */
    double knots[5] ={0};
    int i;
    
    knots[0] = -20.0;knots[1] = -20.0;knots[2] = -20.0;
    knots[3] = -20.0;knots[4] = -15.0;
    output[0] = bspline(knots,input);
    knots[0] = -20.0;knots[1] = -20.0;knots[2] = -20.0;
    knots[3] = -15.0;knots[4] = -10.0;
    output[1] = bspline(knots,input);  
    knots[0] = -20.0;knots[1] = -20.0;knots[2] = -15.0;
    knots[3] = -10.0;knots[4] = -5.0;
    output[2] = bspline(knots,input); 
    for (i = 0;i < 19;i++)
    {
        knots[0] = -20.0+5.0*i;knots[1] = -15.0+5.0*i;knots[2] = -10.0+5.0*i;
        knots[3] = -5.0+5.0*i;knots[4] = 0.0+5.0*i;
        output[i+3] = bspline(knots,input);  
    }    
    knots[0] = 75.0;knots[1] = 80.0;knots[2] = 85.0;
    knots[3] = 90.0;knots[4] = 90.0;
    output[22] = bspline(knots,input); 
    knots[0] = 80.0;knots[1] = 85.0;knots[2] = 90.0;
    knots[3] = 90.0;knots[4] = 90.0;
    output[23] = bspline(knots,input);       
    knots[0] = 85.0;knots[1] = 90.0;knots[2] = 90.0;
    knots[3] = 90.0;knots[4] = 90.0;
    output[24] = bspline(knots,input);       
} 

void bsplinebeta(double input, double output[15])
{
    /*for -30<beta<30 spaced 5 degrees */
    double knots[5] ={0};
    int i;
    
    knots[0] = -30.0;knots[1] = -30.0;knots[2] = -30.0;
    knots[3] = -30.0;knots[4] = -25.0;
    output[0] = bspline(knots,input);
    knots[0] = -30.0;knots[1] = -30.0;knots[2] = -30.0;
    knots[3] = -25.0;knots[4] = -20.0;
    output[1] = bspline(knots,input);  
    knots[0] = -30.0;knots[1] = -30.0;knots[2] = -25.0;
    knots[3] = -20.0;knots[4] = -15.0;
    output[2] = bspline(knots,input); 
    for (i = 0;i < 9;i++)
    {
        knots[0] = -30.0+5.0*i;knots[1] = -25.0+5.0*i;knots[2] = -20.0+5.0*i;
        knots[3] = -15.0+5.0*i;knots[4] = -10.0+5.0*i;
        output[i+3] = bspline(knots,input);  
    }    
    knots[0] = 15.0;knots[1] = 20.0;knots[2] = 25.0;
    knots[3] = 30.0;knots[4] = 30.0;
    output[12] = bspline(knots,input); 
    knots[0] = 20.0;knots[1] = 25.0;knots[2] = 30.0;
    knots[3] = 30.0;knots[4] = 30.0;
    output[13] = bspline(knots,input);       
    knots[0] = 25.0;knots[1] = 30.0;knots[2] = 30.0;
    knots[3] = 30.0;knots[4] = 30.0;
    output[14] = bspline(knots,input);       
} 

void bsplinemach(double input, double output[7])
{
    /*for M = 0.0 0.2, 0.4, 0.6, 0.8, 1.0*/
    double knots[5] ={0};
    int i;
    
    knots[0] = 0.0;knots[1] = 0.0;knots[2] = 0.0;
    knots[3] = 0.0;knots[4] = 0.2;
    output[0] = bspline(knots,input);
    knots[0] = 0.0;knots[1] = 0.0;knots[2] = 0.0;
    knots[3] = 0.2;knots[4] = 0.4;
    output[1] = bspline(knots,input);  
    knots[0] = 0.0;knots[1] = 0.0;knots[2] = 0.2;
    knots[3] = 0.4;knots[4] = 0.6;
    output[2] = bspline(knots,input); 
    knots[0] = 0.0;knots[1] = 0.2;knots[2] = 0.4;
    knots[3] = 0.6;knots[4] = 0.8;
    output[3] = bspline(knots,input); 
    knots[0] = 0.2;knots[1] = 0.4;knots[2] = 0.6;
    knots[3] = 0.8;knots[4] = 1.0;
    output[4] = bspline(knots,input);    
    knots[0] = 0.4;knots[1] = 0.6;knots[2] = 0.8;
    knots[3] = 1.0;knots[4] = 1.0;
    output[5] = bspline(knots,input);    
    knots[0] = 0.6;knots[1] = 0.8;knots[2] = 1.0;
    knots[3] = 1.0;knots[4] = 1.0;
    output[6] = bspline(knots,input);  
    knots[0] = 0.8;knots[1] = 1.0;knots[2] = 1.0;
    knots[3] = 1.0;knots[4] = 1.0;     
} 

double sat(double input) 
{   
    double out;
    
    if(fabs(input) <= 1){
        out = input;
    }
    else{
        out = sign(input);
    }
    return out;
}

void mult_matrixmatrix6(double a[6][6], double b[6][6], double result[6][6])
{
   int i, j;
   for(i=0; i<6; i++)
   {
       for (j=0; j<6; j++)
       {
		  result[i][j] = a[i][0] * b[0][j] + a[i][1] * b[1][j] 
          + a[i][2] * b[2][j]+ a[i][3] * b[3][j]+ a[i][4] * b[4][j]
          + a[i][5] * b[5][j];
       }
   }

}

void matrix_sub6(double a[6][6], double b[6][6], double result[6][6])
{
   int i, j;
   for(i=0; i<6; i++)
   {
       for (j=0; j<6; j++)
       {
		  result[i][j] = a[i][j] - b[i][j];
       }
   }
}

void matrix_inverse6(double a[6][6], double ainv[6][6])
{
    double det;
    
    det = (a[2][5]*a[5][3]*a[0][4]*a[4][1]*a[3][2]*a[1][0]-a[2][5]*a[5][3]*a[0][4]*a[4][1]*a[3][0]*a[1][2]-a[4][5]*a[2][4]*a[5][0]*a[1][1]*a[3][3]*a[0][2]+a[2][5]*a[5][3]*a[3][4]*a[4][1]*a[0][0]*a[1][2]-a[2][5]*a[4][3]*a[5][4]*a[0][0]*a[1][1]*a[3][2]+a[4][5]*a[1][4]*a[5][2]*a[0][0]*a[2][3]*a[3][1]-a[4][5]*a[1][4]*a[5][2]*a[0][0]*a[3][3]*a[2][1]-a[0][5]*a[5][3]*a[3][4]*a[4][1]*a[1][2]*a[2][0]-a[0][5]*a[5][0]*a[3][4]*a[4][1]*a[2][2]*a[1][3]-a[0][5]*a[5][2]*a[4][4]*a[1][1]*a[2][3]*a[3][0]+a[0][5]*a[5][3]*a[3][4]*a[4][2]*a[2][0]*a[1][1]+a[2][5]*a[5][0]*a[1][4]*a[4][2]*a[3][3]*a[0][1]-a[3][5]*a[4][1]*a[2][4]*a[5][3]*a[0][0]*a[1][2]+a[1][5]*a[4][1]*a[3][4]*a[5][0]*a[2][2]*a[0][3]+a[3][5]*a[5][2]*a[2][4]*a[4][0]*a[0][3]*a[1][1]-a[3][5]*a[5][3]*a[1][4]*a[4][2]*a[0][0]*a[2][1]+a[0][5]*a[5][1]*a[1][4]*a[4][0]*a[3][2]*a[2][3]+a[3][5]*a[5][3]*a[1][4]*a[4][2]*a[2][0]*a[0][1]-a[1][5]*a[5][3]*a[0][4]*a[4][0]*a[3][1]*a[2][2]-a[0][5]*a[5][1]*a[1][4]*a[4][2]*a[2][3]*a[3][0]-a[3][5]*a[4][3]*a[5][4]*a[0][0]*a[2][1]*a[1][2]+a[3][5]*a[4][3]*a[5][4]*a[0][0]*a[1][1]*a[2][2]+a[3][5]*a[4][3]*a[5][4]*a[2][1]*a[1][0]*a[0][2]-a[3][5]*a[4][3]*a[5][4]*a[1][1]*a[2][0]*a[0][2]+a[2][5]*a[4][2]*a[3][4]*a[5][1]*a[0][0]*a[1][3]+a[2][5]*a[5][1]*a[1][4]*a[4][0]*a[0][2]*a[3][3]-a[3][5]*a[5][3]*a[2][4]*a[4][0]*a[0][2]*a[1][1]+a[1][5]*a[5][0]*a[0][4]*a[4][3]*a[3][1]*a[2][2]-a[4][5]*a[0][4]*a[5][1]*a[2][2]*a[1][0]*a[3][3]+a[5][5]*a[2][4]*a[4][1]*a[0][0]*a[3][3]*a[1][2]-a[2][5]*a[5][3]*a[1][4]*a[4][0]*a[0][2]*a[3][1]+a[2][5]*a[5][3]*a[1][4]*a[4][0]*a[0][1]*a[3][2]-a[3][5]*a[5][2]*a[1][4]*a[4][3]*a[2][0]*a[0][1]-a[2][5]*a[5][1]*a[0][4]*a[4][0]*a[3][3]*a[1][2]-a[3][5]*a[5][3]*a[0][4]*a[4][2]*a[2][0]*a[1][1]+a[3][5]*a[5][3]*a[0][4]*a[4][2]*a[1][0]*a[2][1]-a[3][5]*a[4][3]*a[1][4]*a[5][1]*a[0][0]*a[2][2]+a[4][5]*a[2][4]*a[5][0]*a[1][1]*a[0][3]*a[3][2]-a[4][5]*a[1][4]*a[5][1]*a[0][0]*a[3][2]*a[2][3]+a[1][5]*a[4][1]*a[3][4]*a[5][2]*a[2][3]*a[0][0]+a[0][5]*a[5][2]*a[2][4]*a[4][3]*a[3][0]*a[1][1]-a[0][5]*a[4][2]*a[1][4]*a[5][3]*a[2][0]*a[3][1]-a[0][5]*a[5][3]*a[2][4]*a[4][2]*a[3][0]*a[1][1]-a[2][5]*a[5][3]*a[4][4]*a[0][0]*a[3][1]*a[1][2]-a[0][5]*a[5][1]*a[1][4]*a[4][0]*a[2][2]*a[3][3]-a[0][5]*a[5][2]*a[1][4]*a[4][0]*a[2][3]*a[3][1]-a[1][5]*a[5][2]*a[3][4]*a[4][3]*a[0][0]*a[2][1]+a[2][5]*a[5][2]*a[3][4]*a[4][3]*a[0][0]*a[1][1]-a[1][5]*a[5][2]*a[2][4]*a[4][1]*a[0][0]*a[3][3]+a[2][5]*a[5][0]*a[0][4]*a[4][1]*a[3][3]*a[1][2]+a[3][5]*a[5][0]*a[1][4]*a[4][3]*a[0][1]*a[2][2]-a[3][5]*a[5][0]*a[1][4]*a[4][3]*a[0][2]*a[2][1]-a[1][5]*a[5][0]*a[2][4]*a[4][3]*a[0][2]*a[3][1]-a[3][5]*a[5][2]*a[1][4]*a[4][1]*a[2][3]*a[0][0]+a[0][5]*a[5][1]*a[2][4]*a[4][3]*a[3][2]*a[1][0]-a[3][5]*a[4][2]*a[5][4]*a[0][0]*a[1][1]*a[2][3]+a[3][5]*a[5][2]*a[1][4]*a[4][3]*a[0][0]*a[2][1]+a[0][5]*a[5][3]*a[3][4]*a[4][1]*a[1][0]*a[2][2]-a[0][5]*a[4][2]*a[3][4]*a[5][0]*a[2][3]*a[1][1]+a[0][5]*a[4][2]*a[3][4]*a[5][0]*a[2][1]*a[1][3]-a[0][5]*a[5][0]*a[1][4]*a[4][3]*a[3][1]*a[2][2]-a[1][5]*a[4][1]*a[5][4]*a[0][0]*a[3][2]*a[2][3]-a[1][5]*a[4][3]*a[3][4]*a[5][0]*a[0][1]*a[2][2]-a[4][5]*a[0][4]*a[5][0]*a[1][1]*a[3][2]*a[2][3]+a[5][5]*a[0][4]*a[4][3]*a[1][1]*a[2][2]*a[3][0]-a[3][5]*a[5][1]*a[0][4]*a[4][2]*a[2][3]*a[1][0]-a[3][5]*a[5][0]*a[1][4]*a[4][1]*a[2][2]*a[0][3]+a[3][5]*a[5][0]*a[1][4]*a[4][1]*a[0][2]*a[2][3]+a[3][5]*a[5][1]*a[0][4]*a[4][3]*a[1][0]*a[2][2]-a[3][5]*a[5][1]*a[0][4]*a[4][3]*a[1][2]*a[2][0]+a[0][5]*a[4][0]*a[1][4]*a[5][3]*a[3][1]*a[2][2]-a[0][5]*a[4][0]*a[1][4]*a[5][3]*a[3][2]*a[2][1]-a[0][5]*a[4][1]*a[2][4]*a[5][0]*a[3][3]*a[1][2]+a[0][5]*a[4][1]*a[2][4]*a[5][0]*a[1][3]*a[3][2]-a[4][5]*a[1][4]*a[5][0]*a[2][2]*a[3][3]*a[0][1]+a[4][5]*a[1][4]*a[5][0]*a[2][2]*a[0][3]*a[3][1]+a[4][5]*a[1][4]*a[5][0]*a[0][2]*a[2][1]*a[3][3]-a[4][5]*a[1][4]*a[5][0]*a[0][3]*a[3][2]*a[2][1]-a[4][5]*a[1][4]*a[5][0]*a[0][2]*a[2][3]*a[3][1]+a[4][5]*a[1][4]*a[5][0]*a[3][2]*a[2][3]*a[0][1]+a[3][5]*a[5][2]*a[1][4]*a[4][0]*a[2][3]*a[0][1]-a[3][5]*a[5][2]*a[1][4]*a[4][0]*a[2][1]*a[0][3]+a[3][5]*a[5][1]*a[1][4]*a[4][2]*a[2][3]*a[0][0]-a[3][5]*a[5][1]*a[1][4]*a[4][2]*a[2][0]*a[0][3]-a[0][5]*a[5][0]*a[1][4]*a[4][1]*a[3][2]*a[2][3]+a[0][5]*a[5][0]*a[1][4]*a[4][1]*a[2][2]*a[3][3]+a[2][5]*a[4][0]*a[3][4]*a[5][1]*a[0][3]*a[1][2]-a[2][5]*a[4][0]*a[3][4]*a[5][1]*a[1][3]*a[0][2]+a[2][5]*a[5][3]*a[1][4]*a[4][2]*a[0][0]*a[3][1]-a[2][5]*a[5][3]*a[1][4]*a[4][2]*a[3][0]*a[0][1]+a[1][5]*a[4][3]*a[3][4]*a[5][0]*a[0][2]*a[2][1]-a[2][5]*a[4][3]*a[3][4]*a[5][0]*a[0][2]*a[1][1]+a[2][5]*a[4][3]*a[3][4]*a[5][0]*a[0][1]*a[1][2]-a[1][5]*a[4][1]*a[3][4]*a[5][2]*a[2][0]*a[0][3]-a[0][5]*a[5][3]*a[3][4]*a[4][0]*a[2][2]*a[1][1]+a[0][5]*a[5][3]*a[3][4]*a[4][0]*a[2][1]*a[1][2]+a[0][5]*a[5][2]*a[1][4]*a[4][1]*a[2][3]*a[3][0]-a[0][5]*a[5][2]*a[1][4]*a[4][1]*a[3][3]*a[2][0]-a[3][5]*a[5][1]*a[2][4]*a[4][0]*a[0][3]*a[1][2]+a[3][5]*a[5][1]*a[2][4]*a[4][0]*a[1][3]*a[0][2]-a[1][5]*a[5][1]*a[3][4]*a[4][2]*a[2][3]*a[0][0]+a[1][5]*a[5][1]*a[3][4]*a[4][2]*a[2][0]*a[0][3]+a[3][5]*a[5][3]*a[1][4]*a[4][1]*a[0][0]*a[2][2]-a[3][5]*a[5][3]*a[1][4]*a[4][1]*a[2][0]*a[0][2]-a[2][5]*a[5][0]*a[1][4]*a[4][1]*a[0][2]*a[3][3]+a[2][5]*a[5][0]*a[1][4]*a[4][1]*a[0][3]*a[3][2]-a[5][5]*a[4][4]*a[0][0]*a[1][1]*a[3][2]*a[2][3]+a[5][5]*a[4][4]*a[0][0]*a[1][1]*a[2][2]*a[3][3]+a[5][5]*a[4][4]*a[0][0]*a[3][1]*a[1][2]*a[2][3]+a[5][5]*a[4][4]*a[0][0]*a[3][2]*a[2][1]*a[1][3]-a[5][5]*a[4][4]*a[0][0]*a[2][2]*a[3][1]*a[1][3]-a[5][5]*a[4][4]*a[0][0]*a[2][1]*a[1][2]*a[3][3]-a[5][5]*a[4][4]*a[1][1]*a[2][0]*a[0][2]*a[3][3]+a[5][5]*a[4][4]*a[1][1]*a[3][2]*a[2][0]*a[0][3]+a[5][5]*a[4][4]*a[1][1]*a[3][0]*a[0][2]*a[2][3]-a[5][5]*a[4][4]*a[1][1]*a[2][2]*a[3][0]*a[0][3]-a[5][5]*a[4][4]*a[3][2]*a[2][1]*a[1][0]*a[0][3]+a[5][5]*a[4][4]*a[3][2]*a[1][0]*a[0][1]*a[2][3]-a[5][5]*a[4][4]*a[3][2]*a[2][0]*a[0][1]*a[1][3]-a[5][5]*a[4][4]*a[3][1]*a[1][0]*a[0][2]*a[2][3]+a[5][5]*a[4][4]*a[2][1]*a[1][2]*a[3][0]*a[0][3]+a[5][5]*a[4][4]*a[2][2]*a[3][1]*a[1][0]*a[0][3]+a[5][5]*a[4][4]*a[2][1]*a[1][0]*a[0][2]*a[3][3]-a[5][5]*a[4][4]*a[2][2]*a[1][0]*a[0][1]*a[3][3]+a[5][5]*a[4][4]*a[2][2]*a[3][0]*a[0][1]*a[1][3]+a[5][5]*a[4][4]*a[2][0]*a[0][1]*a[1][2]*a[3][3]+a[5][5]*a[4][4]*a[2][0]*a[0][2]*a[3][1]*a[1][3]-a[5][5]*a[4][4]*a[3][0]*a[0][2]*a[2][1]*a[1][3]-a[5][5]*a[4][4]*a[3][1]*a[1][2]*a[2][0]*a[0][3]-a[5][5]*a[4][4]*a[3][0]*a[0][1]*a[1][2]*a[2][3]+a[1][5]*a[5][2]*a[2][4]*a[4][0]*a[3][3]*a[0][1]-a[1][5]*a[5][2]*a[2][4]*a[4][0]*a[0][3]*a[3][1]-a[2][5]*a[5][2]*a[0][4]*a[4][1]*a[1][0]*a[3][3]+a[2][5]*a[5][2]*a[0][4]*a[4][1]*a[1][3]*a[3][0]+a[3][5]*a[5][0]*a[2][4]*a[4][3]*a[0][2]*a[1][1]-a[3][5]*a[5][0]*a[2][4]*a[4][3]*a[0][1]*a[1][2]+a[3][5]*a[5][1]*a[0][4]*a[4][2]*a[2][0]*a[1][3]+a[1][5]*a[5][2]*a[0][4]*a[4][0]*a[2][3]*a[3][1]-a[1][5]*a[5][2]*a[0][4]*a[4][0]*a[3][3]*a[2][1]-a[3][5]*a[5][2]*a[2][4]*a[4][3]*a[0][0]*a[1][1]+a[3][5]*a[5][2]*a[2][4]*a[4][3]*a[1][0]*a[0][1]-a[1][5]*a[5][2]*a[0][4]*a[4][3]*a[2][0]*a[3][1]+a[1][5]*a[5][2]*a[0][4]*a[4][3]*a[2][1]*a[3][0]+a[2][5]*a[5][3]*a[3][4]*a[4][0]*a[0][2]*a[1][1]-a[2][5]*a[5][3]*a[3][4]*a[4][0]*a[0][1]*a[1][2]-a[3][5]*a[5][2]*a[2][4]*a[4][0]*a[0][1]*a[1][3]+a[2][5]*a[5][1]*a[0][4]*a[4][2]*a[1][0]*a[3][3]-a[2][5]*a[5][1]*a[0][4]*a[4][2]*a[1][3]*a[3][0]+a[1][5]*a[5][0]*a[2][4]*a[4][1]*a[0][2]*a[3][3]-a[1][5]*a[5][0]*a[2][4]*a[4][1]*a[0][3]*a[3][2]+a[2][5]*a[5][1]*a[1][4]*a[4][3]*a[3][2]*a[0][0]-a[2][5]*a[5][1]*a[1][4]*a[4][3]*a[3][0]*a[0][2]+a[4][5]*a[5][4]*a[0][0]*a[1][1]*a[3][2]*a[2][3]-a[4][5]*a[5][4]*a[0][0]*a[1][1]*a[2][2]*a[3][3]-a[4][5]*a[5][4]*a[0][0]*a[3][1]*a[1][2]*a[2][3]-a[4][5]*a[5][4]*a[0][0]*a[3][2]*a[2][1]*a[1][3]+a[4][5]*a[5][4]*a[0][0]*a[2][2]*a[3][1]*a[1][3]+a[4][5]*a[5][4]*a[0][0]*a[2][1]*a[1][2]*a[3][3]+a[4][5]*a[5][4]*a[1][1]*a[2][2]*a[3][0]*a[0][3]+a[4][5]*a[5][4]*a[1][1]*a[2][0]*a[0][2]*a[3][3]-a[4][5]*a[5][4]*a[1][1]*a[3][0]*a[0][2]*a[2][3]-a[4][5]*a[5][4]*a[1][1]*a[3][2]*a[2][0]*a[0][3]+a[4][5]*a[5][4]*a[2][2]*a[1][0]*a[0][1]*a[3][3]-a[4][5]*a[5][4]*a[2][2]*a[3][0]*a[0][1]*a[1][3]-a[4][5]*a[5][4]*a[2][2]*a[3][1]*a[1][0]*a[0][3]-a[4][5]*a[5][4]*a[2][0]*a[0][1]*a[1][2]*a[3][3]-a[4][5]*a[5][4]*a[2][1]*a[1][0]*a[0][2]*a[3][3]-a[4][5]*a[5][4]*a[2][0]*a[0][2]*a[3][1]*a[1][3]+a[4][5]*a[5][4]*a[3][0]*a[0][1]*a[1][2]*a[2][3]+a[4][5]*a[5][4]*a[3][1]*a[1][2]*a[2][0]*a[0][3]-a[4][5]*a[5][4]*a[3][2]*a[1][0]*a[0][1]*a[2][3]+a[4][5]*a[5][4]*a[3][0]*a[0][2]*a[2][1]*a[1][3]-a[4][5]*a[5][4]*a[2][1]*a[1][2]*a[3][0]*a[0][3]+a[4][5]*a[5][4]*a[3][2]*a[2][0]*a[0][1]*a[1][3]+a[4][5]*a[5][4]*a[3][2]*a[2][1]*a[1][0]*a[0][3]+a[4][5]*a[5][4]*a[3][1]*a[1][0]*a[0][2]*a[2][3]-a[2][5]*a[5][0]*a[0][4]*a[4][1]*a[1][3]*a[3][2]+a[3][5]*a[5][0]*a[2][4]*a[4][1]*a[0][3]*a[1][2]-a[3][5]*a[5][0]*a[2][4]*a[4][1]*a[1][3]*a[0][2]-a[2][5]*a[5][2]*a[3][4]*a[4][1]*a[0][0]*a[1][3]+a[2][5]*a[5][2]*a[3][4]*a[4][1]*a[1][0]*a[0][3]+a[1][5]*a[5][3]*a[2][4]*a[4][0]*a[0][2]*a[3][1]-a[1][5]*a[5][3]*a[2][4]*a[4][0]*a[0][1]*a[3][2]-a[2][5]*a[5][0]*a[0][4]*a[4][2]*a[3][3]*a[1][1]+a[2][5]*a[5][0]*a[0][4]*a[4][2]*a[3][1]*a[1][3]+a[1][5]*a[5][2]*a[2][4]*a[4][3]*a[0][0]*a[3][1]-a[1][5]*a[5][2]*a[2][4]*a[4][3]*a[3][0]*a[0][1]-a[0][5]*a[5][1]*a[2][4]*a[4][2]*a[1][0]*a[3][3]+a[0][5]*a[5][1]*a[2][4]*a[4][2]*a[1][3]*a[3][0]-a[0][5]*a[5][2]*a[2][4]*a[4][3]*a[3][1]*a[1][0]-a[1][5]*a[5][0]*a[0][4]*a[4][2]*a[2][3]*a[3][1]+a[1][5]*a[5][0]*a[0][4]*a[4][2]*a[3][3]*a[2][1]+a[3][5]*a[5][2]*a[2][4]*a[4][1]*a[0][0]*a[1][3]-a[3][5]*a[5][2]*a[2][4]*a[4][1]*a[1][0]*a[0][3]+a[0][5]*a[5][0]*a[2][4]*a[4][2]*a[3][3]*a[1][1]-a[0][5]*a[5][0]*a[2][4]*a[4][2]*a[3][1]*a[1][3]+a[3][5]*a[5][1]*a[2][4]*a[4][3]*a[0][0]*a[1][2]-a[3][5]*a[5][1]*a[2][4]*a[4][3]*a[1][0]*a[0][2]-a[1][5]*a[5][1]*a[2][4]*a[4][0]*a[0][2]*a[3][3]+a[1][5]*a[5][1]*a[2][4]*a[4][0]*a[0][3]*a[3][2]+a[2][5]*a[5][2]*a[0][4]*a[4][0]*a[3][3]*a[1][1]-a[2][5]*a[5][2]*a[0][4]*a[4][0]*a[3][1]*a[1][3]+a[1][5]*a[5][3]*a[0][4]*a[4][2]*a[2][0]*a[3][1]-a[1][5]*a[5][3]*a[0][4]*a[4][2]*a[2][1]*a[3][0]-a[1][5]*a[5][0]*a[0][4]*a[4][3]*a[3][2]*a[2][1]+a[2][5]*a[5][1]*a[4][4]*a[0][0]*a[3][3]*a[1][2]-a[2][5]*a[5][1]*a[4][4]*a[0][0]*a[1][3]*a[3][2]-a[2][5]*a[5][1]*a[4][4]*a[1][0]*a[0][2]*a[3][3]+a[2][5]*a[5][1]*a[4][4]*a[1][0]*a[0][3]*a[3][2]+a[2][5]*a[5][1]*a[4][4]*a[1][3]*a[3][0]*a[0][2]-a[2][5]*a[5][1]*a[4][4]*a[3][0]*a[0][3]*a[1][2]+a[1][5]*a[5][0]*a[4][4]*a[2][2]*a[3][3]*a[0][1]-a[1][5]*a[5][0]*a[4][4]*a[2][2]*a[0][3]*a[3][1]-a[1][5]*a[5][0]*a[4][4]*a[0][2]*a[2][1]*a[3][3]+a[1][5]*a[5][0]*a[4][4]*a[0][3]*a[3][2]*a[2][1]+a[1][5]*a[5][0]*a[4][4]*a[0][2]*a[2][3]*a[3][1]-a[1][5]*a[5][0]*a[4][4]*a[3][2]*a[2][3]*a[0][1]-a[4][5]*a[3][4]*a[5][2]*a[0][0]*a[1][1]*a[2][3]+a[4][5]*a[3][4]*a[5][2]*a[0][0]*a[2][1]*a[1][3]+a[4][5]*a[3][4]*a[5][2]*a[1][1]*a[2][0]*a[0][3]+a[4][5]*a[3][4]*a[5][2]*a[1][0]*a[0][1]*a[2][3]-a[4][5]*a[3][4]*a[5][2]*a[2][0]*a[0][1]*a[1][3]-a[4][5]*a[3][4]*a[5][2]*a[2][1]*a[1][0]*a[0][3]+a[3][5]*a[5][1]*a[4][4]*a[0][0]*a[2][2]*a[1][3]-a[3][5]*a[5][1]*a[4][4]*a[0][0]*a[1][2]*a[2][3]-a[3][5]*a[5][1]*a[4][4]*a[2][2]*a[1][0]*a[0][3]-a[3][5]*a[5][1]*a[4][4]*a[2][0]*a[0][2]*a[1][3]+a[3][5]*a[5][1]*a[4][4]*a[1][0]*a[0][2]*a[2][3]+a[3][5]*a[5][1]*a[4][4]*a[1][2]*a[2][0]*a[0][3]+a[5][5]*a[3][4]*a[4][0]*a[1][1]*a[2][2]*a[0][3]-a[5][5]*a[3][4]*a[4][0]*a[1][1]*a[0][2]*a[2][3]+a[5][5]*a[3][4]*a[4][0]*a[0][2]*a[2][1]*a[1][3]-a[5][5]*a[3][4]*a[4][0]*a[2][2]*a[0][1]*a[1][3]-a[5][5]*a[3][4]*a[4][0]*a[2][1]*a[1][2]*a[0][3]+a[5][5]*a[3][4]*a[4][0]*a[0][1]*a[1][2]*a[2][3]+a[0][5]*a[5][0]*a[4][4]*a[1][1]*a[3][2]*a[2][3]-a[0][5]*a[5][0]*a[4][4]*a[1][1]*a[2][2]*a[3][3]-a[0][5]*a[5][0]*a[4][4]*a[3][1]*a[1][2]*a[2][3]-a[0][5]*a[5][0]*a[4][4]*a[3][2]*a[2][1]*a[1][3]+a[0][5]*a[5][0]*a[4][4]*a[2][2]*a[3][1]*a[1][3]+a[0][5]*a[5][0]*a[4][4]*a[2][1]*a[1][2]*a[3][3]+a[5][5]*a[0][4]*a[4][1]*a[2][2]*a[1][0]*a[3][3]-a[5][5]*a[0][4]*a[4][1]*a[2][2]*a[1][3]*a[3][0]-a[5][5]*a[0][4]*a[4][1]*a[1][2]*a[2][0]*a[3][3]+a[5][5]*a[0][4]*a[4][1]*a[1][2]*a[2][3]*a[3][0]+a[5][5]*a[0][4]*a[4][1]*a[1][3]*a[3][2]*a[2][0]-a[5][5]*a[0][4]*a[4][1]*a[3][2]*a[2][3]*a[1][0]+a[2][5]*a[5][0]*a[4][4]*a[1][1]*a[3][3]*a[0][2]-a[2][5]*a[5][0]*a[4][4]*a[1][1]*a[0][3]*a[3][2]-a[2][5]*a[5][0]*a[4][4]*a[3][3]*a[0][1]*a[1][2]+a[2][5]*a[5][0]*a[4][4]*a[0][1]*a[1][3]*a[3][2]+a[2][5]*a[5][0]*a[4][4]*a[0][3]*a[3][1]*a[1][2]-a[2][5]*a[5][0]*a[4][4]*a[3][1]*a[1][3]*a[0][2]-a[5][5]*a[0][4]*a[4][2]*a[1][1]*a[2][3]*a[3][0]+a[5][5]*a[0][4]*a[4][2]*a[1][1]*a[3][3]*a[2][0]-a[5][5]*a[0][4]*a[4][2]*a[3][3]*a[1][0]*a[2][1]-a[5][5]*a[0][4]*a[4][2]*a[3][1]*a[1][3]*a[2][0]+a[5][5]*a[0][4]*a[4][2]*a[2][3]*a[1][0]*a[3][1]+a[5][5]*a[0][4]*a[4][2]*a[2][1]*a[1][3]*a[3][0]+a[0][5]*a[5][3]*a[4][4]*a[1][1]*a[2][2]*a[3][0]-a[0][5]*a[5][3]*a[4][4]*a[1][1]*a[3][2]*a[2][0]-a[0][5]*a[5][3]*a[4][4]*a[2][2]*a[1][0]*a[3][1]+a[0][5]*a[5][3]*a[4][4]*a[3][1]*a[1][2]*a[2][0]-a[0][5]*a[5][3]*a[4][4]*a[2][1]*a[1][2]*a[3][0]+a[0][5]*a[5][3]*a[4][4]*a[3][2]*a[1][0]*a[2][1]+a[1][5]*a[5][1]*a[4][4]*a[0][0]*a[3][2]*a[2][3]-a[1][5]*a[5][1]*a[4][4]*a[0][0]*a[2][2]*a[3][3]+a[1][5]*a[5][1]*a[4][4]*a[3][0]*a[0][3]*a[2][2]+a[1][5]*a[5][1]*a[4][4]*a[2][0]*a[0][2]*a[3][3]-a[1][5]*a[5][1]*a[4][4]*a[3][0]*a[0][2]*a[2][3]-a[1][5]*a[5][1]*a[4][4]*a[3][2]*a[2][0]*a[0][3]-a[2][5]*a[5][2]*a[4][4]*a[0][0]*a[1][1]*a[3][3]+a[2][5]*a[5][2]*a[4][4]*a[0][0]*a[3][1]*a[1][3]+a[2][5]*a[5][2]*a[4][4]*a[1][1]*a[3][0]*a[0][3]+a[2][5]*a[5][2]*a[4][4]*a[1][0]*a[0][1]*a[3][3]-a[2][5]*a[5][2]*a[4][4]*a[3][0]*a[0][1]*a[1][3]-a[2][5]*a[5][2]*a[4][4]*a[3][1]*a[1][0]*a[0][3]+a[5][5]*a[0][4]*a[4][0]*a[1][1]*a[3][2]*a[2][3]-a[5][5]*a[0][4]*a[4][0]*a[1][1]*a[2][2]*a[3][3]-a[5][5]*a[0][4]*a[4][0]*a[3][1]*a[1][2]*a[2][3]-a[5][5]*a[0][4]*a[4][0]*a[3][2]*a[2][1]*a[1][3]+a[5][5]*a[0][4]*a[4][0]*a[2][2]*a[3][1]*a[1][3]+a[5][5]*a[0][4]*a[4][0]*a[2][1]*a[1][2]*a[3][3]-a[5][5]*a[1][4]*a[4][2]*a[0][0]*a[2][3]*a[3][1]+a[5][5]*a[1][4]*a[4][2]*a[0][0]*a[3][3]*a[2][1]-a[5][5]*a[1][4]*a[4][2]*a[3][3]*a[2][0]*a[0][1]+a[5][5]*a[1][4]*a[4][2]*a[2][0]*a[0][3]*a[3][1]-a[5][5]*a[1][4]*a[4][2]*a[3][0]*a[0][3]*a[2][1]+a[5][5]*a[1][4]*a[4][2]*a[2][3]*a[3][0]*a[0][1]+a[5][5]*a[1][4]*a[4][0]*a[2][2]*a[3][3]*a[0][1]-a[5][5]*a[1][4]*a[4][0]*a[2][2]*a[0][3]*a[3][1]-a[5][5]*a[1][4]*a[4][0]*a[0][2]*a[2][1]*a[3][3]+a[5][5]*a[1][4]*a[4][0]*a[0][3]*a[3][2]*a[2][1]+a[5][5]*a[1][4]*a[4][0]*a[0][2]*a[2][3]*a[3][1]-a[5][5]*a[1][4]*a[4][0]*a[3][2]*a[2][3]*a[0][1]-a[5][5]*a[2][4]*a[4][2]*a[0][0]*a[1][1]*a[3][3]+a[5][5]*a[2][4]*a[4][2]*a[0][0]*a[3][1]*a[1][3]+a[5][5]*a[2][4]*a[4][2]*a[1][1]*a[3][0]*a[0][3]+a[5][5]*a[2][4]*a[4][2]*a[1][0]*a[0][1]*a[3][3]-a[5][5]*a[2][4]*a[4][2]*a[3][0]*a[0][1]*a[1][3]-a[5][5]*a[2][4]*a[4][2]*a[3][1]*a[1][0]*a[0][3]-a[5][5]*a[2][4]*a[4][1]*a[0][0]*a[1][3]*a[3][2]-a[5][5]*a[2][4]*a[4][1]*a[1][0]*a[0][2]*a[3][3]+a[5][5]*a[2][4]*a[4][1]*a[1][0]*a[0][3]*a[3][2]+a[5][5]*a[2][4]*a[4][1]*a[1][3]*a[3][0]*a[0][2]-a[5][5]*a[2][4]*a[4][1]*a[3][0]*a[0][3]*a[1][2]+a[4][5]*a[1][4]*a[5][2]*a[3][0]*a[0][3]*a[2][1]-a[4][5]*a[1][4]*a[5][2]*a[2][3]*a[3][0]*a[0][1]+a[4][5]*a[1][4]*a[5][2]*a[3][3]*a[2][0]*a[0][1]-a[4][5]*a[1][4]*a[5][2]*a[2][0]*a[0][3]*a[3][1]-a[5][5]*a[0][4]*a[4][3]*a[1][1]*a[3][2]*a[2][0]-a[5][5]*a[0][4]*a[4][3]*a[2][2]*a[1][0]*a[3][1]+a[5][5]*a[0][4]*a[4][3]*a[3][1]*a[1][2]*a[2][0]-a[5][5]*a[0][4]*a[4][3]*a[2][1]*a[1][2]*a[3][0]+a[5][5]*a[0][4]*a[4][3]*a[3][2]*a[1][0]*a[2][1]+a[1][5]*a[4][1]*a[5][4]*a[0][0]*a[2][2]*a[3][3]-a[1][5]*a[4][1]*a[5][4]*a[3][0]*a[0][3]*a[2][2]-a[1][5]*a[4][1]*a[5][4]*a[2][0]*a[0][2]*a[3][3]+a[1][5]*a[4][1]*a[5][4]*a[3][0]*a[0][2]*a[2][3]+a[1][5]*a[4][1]*a[5][4]*a[3][2]*a[2][0]*a[0][3]-a[4][5]*a[2][4]*a[5][2]*a[0][0]*a[3][1]*a[1][3]+a[4][5]*a[2][4]*a[5][2]*a[0][0]*a[1][1]*a[3][3]+a[4][5]*a[2][4]*a[5][2]*a[3][1]*a[1][0]*a[0][3]-a[4][5]*a[2][4]*a[5][2]*a[1][1]*a[3][0]*a[0][3]-a[4][5]*a[2][4]*a[5][2]*a[1][0]*a[0][1]*a[3][3]+a[4][5]*a[2][4]*a[5][2]*a[3][0]*a[0][1]*a[1][3]+a[4][5]*a[1][4]*a[5][1]*a[0][0]*a[2][2]*a[3][3]-a[4][5]*a[1][4]*a[5][1]*a[3][0]*a[0][3]*a[2][2]-a[4][5]*a[1][4]*a[5][1]*a[2][0]*a[0][2]*a[3][3]+a[4][5]*a[1][4]*a[5][1]*a[3][0]*a[0][2]*a[2][3]+a[4][5]*a[1][4]*a[5][1]*a[3][2]*a[2][0]*a[0][3]-a[1][5]*a[5][2]*a[4][4]*a[0][0]*a[2][3]*a[3][1]+a[1][5]*a[5][2]*a[4][4]*a[0][0]*a[3][3]*a[2][1]-a[1][5]*a[5][2]*a[4][4]*a[3][3]*a[2][0]*a[0][1]+a[1][5]*a[5][2]*a[4][4]*a[2][0]*a[0][3]*a[3][1]-a[1][5]*a[5][2]*a[4][4]*a[3][0]*a[0][3]*a[2][1]+a[1][5]*a[5][2]*a[4][4]*a[2][3]*a[3][0]*a[0][1]+a[4][5]*a[2][4]*a[5][0]*a[3][3]*a[0][1]*a[1][2]-a[4][5]*a[2][4]*a[5][0]*a[0][1]*a[1][3]*a[3][2]-a[4][5]*a[2][4]*a[5][0]*a[0][3]*a[3][1]*a[1][2]+a[4][5]*a[2][4]*a[5][0]*a[3][1]*a[1][3]*a[0][2]+a[3][5]*a[5][0]*a[4][4]*a[1][1]*a[2][2]*a[0][3]-a[3][5]*a[5][0]*a[4][4]*a[1][1]*a[0][2]*a[2][3]+a[3][5]*a[5][0]*a[4][4]*a[0][2]*a[2][1]*a[1][3]-a[3][5]*a[5][0]*a[4][4]*a[2][2]*a[0][1]*a[1][3]-a[3][5]*a[5][0]*a[4][4]*a[2][1]*a[1][2]*a[0][3]+a[3][5]*a[5][0]*a[4][4]*a[0][1]*a[1][2]*a[2][3]-a[3][5]*a[4][1]*a[5][4]*a[0][0]*a[2][2]*a[1][3]+a[3][5]*a[4][1]*a[5][4]*a[0][0]*a[1][2]*a[2][3]+a[3][5]*a[4][1]*a[5][4]*a[2][2]*a[1][0]*a[0][3]-a[3][5]*a[4][1]*a[5][4]*a[1][2]*a[2][0]*a[0][3]+a[3][5]*a[4][1]*a[5][4]*a[2][0]*a[0][2]*a[1][3]-a[3][5]*a[4][1]*a[5][4]*a[1][0]*a[0][2]*a[2][3]-a[2][5]*a[4][2]*a[5][4]*a[0][0]*a[3][1]*a[1][3]+a[2][5]*a[4][2]*a[5][4]*a[0][0]*a[1][1]*a[3][3]+a[2][5]*a[4][2]*a[5][4]*a[3][1]*a[1][0]*a[0][3]-a[2][5]*a[4][2]*a[5][4]*a[1][1]*a[3][0]*a[0][3]-a[2][5]*a[4][2]*a[5][4]*a[1][0]*a[0][1]*a[3][3]+a[2][5]*a[4][2]*a[5][4]*a[3][0]*a[0][1]*a[1][3]-a[5][5]*a[2][4]*a[4][3]*a[0][0]*a[3][1]*a[1][2]+a[5][5]*a[2][4]*a[4][3]*a[0][0]*a[1][1]*a[3][2]+a[5][5]*a[2][4]*a[4][3]*a[3][1]*a[1][0]*a[0][2]-a[5][5]*a[2][4]*a[4][3]*a[1][1]*a[3][0]*a[0][2]-a[5][5]*a[2][4]*a[4][3]*a[1][0]*a[0][1]*a[3][2]+a[5][5]*a[2][4]*a[4][3]*a[3][0]*a[0][1]*a[1][2]-a[4][5]*a[2][4]*a[5][3]*a[0][0]*a[1][1]*a[3][2]+a[4][5]*a[2][4]*a[5][3]*a[0][0]*a[3][1]*a[1][2]+a[4][5]*a[2][4]*a[5][3]*a[1][1]*a[3][0]*a[0][2]-a[4][5]*a[2][4]*a[5][3]*a[3][1]*a[1][0]*a[0][2]+a[4][5]*a[2][4]*a[5][3]*a[1][0]*a[0][1]*a[3][2]-a[4][5]*a[2][4]*a[5][3]*a[3][0]*a[0][1]*a[1][2]-a[1][5]*a[4][0]*a[5][4]*a[2][2]*a[3][3]*a[0][1]+a[1][5]*a[4][0]*a[5][4]*a[2][2]*a[0][3]*a[3][1]+a[1][5]*a[4][0]*a[5][4]*a[0][2]*a[2][1]*a[3][3]-a[1][5]*a[4][0]*a[5][4]*a[0][3]*a[3][2]*a[2][1]-a[1][5]*a[4][0]*a[5][4]*a[0][2]*a[2][3]*a[3][1]+a[1][5]*a[4][0]*a[5][4]*a[3][2]*a[2][3]*a[0][1]-a[3][5]*a[4][0]*a[5][4]*a[1][1]*a[2][2]*a[0][3]+a[3][5]*a[4][0]*a[5][4]*a[1][1]*a[0][2]*a[2][3]-a[3][5]*a[4][0]*a[5][4]*a[0][2]*a[2][1]*a[1][3]+a[3][5]*a[4][0]*a[5][4]*a[2][2]*a[0][1]*a[1][3]+a[3][5]*a[4][0]*a[5][4]*a[2][1]*a[1][2]*a[0][3]-a[3][5]*a[4][0]*a[5][4]*a[0][1]*a[1][2]*a[2][3]+a[3][5]*a[4][2]*a[5][4]*a[0][0]*a[2][1]*a[1][3]+a[3][5]*a[4][2]*a[5][4]*a[1][1]*a[2][0]*a[0][3]+a[3][5]*a[4][2]*a[5][4]*a[1][0]*a[0][1]*a[2][3]-a[3][5]*a[4][2]*a[5][4]*a[2][0]*a[0][1]*a[1][3]-a[3][5]*a[4][2]*a[5][4]*a[2][1]*a[1][0]*a[0][3]-a[4][5]*a[2][4]*a[5][1]*a[0][0]*a[3][3]*a[1][2]+a[4][5]*a[2][4]*a[5][1]*a[0][0]*a[1][3]*a[3][2]+a[4][5]*a[2][4]*a[5][1]*a[1][0]*a[0][2]*a[3][3]-a[4][5]*a[2][4]*a[5][1]*a[1][0]*a[0][3]*a[3][2]-a[4][5]*a[2][4]*a[5][1]*a[1][3]*a[3][0]*a[0][2]+a[4][5]*a[2][4]*a[5][1]*a[3][0]*a[0][3]*a[1][2]-a[4][5]*a[0][4]*a[5][3]*a[1][1]*a[2][2]*a[3][0]+a[4][5]*a[0][4]*a[5][3]*a[1][1]*a[3][2]*a[2][0]+a[4][5]*a[0][4]*a[5][3]*a[2][1]*a[1][2]*a[3][0]+a[4][5]*a[0][4]*a[5][3]*a[2][2]*a[1][0]*a[3][1]-a[4][5]*a[0][4]*a[5][3]*a[3][2]*a[1][0]*a[2][1]-a[4][5]*a[0][4]*a[5][3]*a[3][1]*a[1][2]*a[2][0]-a[3][5]*a[4][3]*a[5][4]*a[1][0]*a[0][1]*a[2][2]+a[3][5]*a[4][3]*a[5][4]*a[2][0]*a[0][1]*a[1][2]+a[0][5]*a[5][2]*a[4][4]*a[1][1]*a[3][3]*a[2][0]-a[0][5]*a[5][2]*a[4][4]*a[3][3]*a[1][0]*a[2][1]-a[0][5]*a[5][2]*a[4][4]*a[3][1]*a[1][3]*a[2][0]+a[0][5]*a[5][2]*a[4][4]*a[2][3]*a[1][0]*a[3][1]+a[0][5]*a[5][2]*a[4][4]*a[2][1]*a[1][3]*a[3][0]-a[4][5]*a[3][4]*a[5][1]*a[0][0]*a[2][2]*a[1][3]+a[4][5]*a[3][4]*a[5][1]*a[0][0]*a[1][2]*a[2][3]+a[4][5]*a[3][4]*a[5][1]*a[2][2]*a[1][0]*a[0][3]-a[4][5]*a[3][4]*a[5][1]*a[1][2]*a[2][0]*a[0][3]+a[4][5]*a[3][4]*a[5][1]*a[2][0]*a[0][2]*a[1][3]-a[4][5]*a[3][4]*a[5][1]*a[1][0]*a[0][2]*a[2][3]-a[5][5]*a[3][4]*a[4][3]*a[0][0]*a[1][1]*a[2][2]+a[5][5]*a[3][4]*a[4][3]*a[0][0]*a[2][1]*a[1][2]-a[5][5]*a[3][4]*a[4][3]*a[2][1]*a[1][0]*a[0][2]+a[5][5]*a[3][4]*a[4][3]*a[1][1]*a[2][0]*a[0][2]+a[5][5]*a[3][4]*a[4][3]*a[1][0]*a[0][1]*a[2][2]-a[5][5]*a[3][4]*a[4][3]*a[2][0]*a[0][1]*a[1][2]-a[4][5]*a[1][4]*a[5][3]*a[0][0]*a[2][2]*a[3][1]+a[4][5]*a[1][4]*a[5][3]*a[0][0]*a[3][2]*a[2][1]+a[4][5]*a[1][4]*a[5][3]*a[2][2]*a[3][0]*a[0][1]-a[4][5]*a[1][4]*a[5][3]*a[3][0]*a[0][2]*a[2][1]-a[4][5]*a[1][4]*a[5][3]*a[3][2]*a[2][0]*a[0][1]+a[4][5]*a[1][4]*a[5][3]*a[2][0]*a[0][2]*a[3][1]-a[4][5]*a[3][4]*a[5][3]*a[0][0]*a[2][1]*a[1][2]+a[4][5]*a[3][4]*a[5][3]*a[0][0]*a[1][1]*a[2][2]+a[4][5]*a[3][4]*a[5][3]*a[2][1]*a[1][0]*a[0][2]-a[4][5]*a[3][4]*a[5][3]*a[1][1]*a[2][0]*a[0][2]-a[4][5]*a[3][4]*a[5][3]*a[1][0]*a[0][1]*a[2][2]+a[4][5]*a[3][4]*a[5][3]*a[2][0]*a[0][1]*a[1][2]-a[0][5]*a[4][0]*a[5][4]*a[1][1]*a[3][2]*a[2][3]+a[0][5]*a[4][0]*a[5][4]*a[1][1]*a[2][2]*a[3][3]+a[0][5]*a[4][0]*a[5][4]*a[3][2]*a[2][1]*a[1][3]-a[0][5]*a[4][0]*a[5][4]*a[2][2]*a[3][1]*a[1][3]-a[0][5]*a[4][0]*a[5][4]*a[2][1]*a[1][2]*a[3][3]+a[0][5]*a[4][0]*a[5][4]*a[3][1]*a[1][2]*a[2][3]+a[5][5]*a[1][4]*a[4][3]*a[0][0]*a[2][2]*a[3][1]-a[5][5]*a[1][4]*a[4][3]*a[0][0]*a[3][2]*a[2][1]-a[5][5]*a[1][4]*a[4][3]*a[2][2]*a[3][0]*a[0][1]-a[5][5]*a[1][4]*a[4][3]*a[2][0]*a[0][2]*a[3][1]+a[5][5]*a[1][4]*a[4][3]*a[3][0]*a[0][2]*a[2][1]+a[5][5]*a[1][4]*a[4][3]*a[3][2]*a[2][0]*a[0][1]+a[0][5]*a[5][1]*a[4][4]*a[2][2]*a[1][0]*a[3][3]-a[0][5]*a[5][1]*a[4][4]*a[2][2]*a[1][3]*a[3][0]-a[0][5]*a[5][1]*a[4][4]*a[1][2]*a[2][0]*a[3][3]+a[0][5]*a[5][1]*a[4][4]*a[1][2]*a[2][3]*a[3][0]+a[0][5]*a[5][1]*a[4][4]*a[1][3]*a[3][2]*a[2][0]-a[0][5]*a[5][1]*a[4][4]*a[3][2]*a[2][3]*a[1][0]+a[5][5]*a[1][4]*a[4][1]*a[0][0]*a[3][2]*a[2][3]-a[5][5]*a[1][4]*a[4][1]*a[0][0]*a[2][2]*a[3][3]+a[5][5]*a[1][4]*a[4][1]*a[3][0]*a[0][3]*a[2][2]+a[5][5]*a[1][4]*a[4][1]*a[2][0]*a[0][2]*a[3][3]-a[5][5]*a[1][4]*a[4][1]*a[3][0]*a[0][2]*a[2][3]-a[5][5]*a[1][4]*a[4][1]*a[3][2]*a[2][0]*a[0][3]-a[1][5]*a[5][1]*a[2][4]*a[4][3]*a[3][2]*a[0][0]+a[1][5]*a[5][1]*a[2][4]*a[4][3]*a[3][0]*a[0][2]+a[3][5]*a[5][3]*a[2][4]*a[4][2]*a[0][0]*a[1][1]-a[3][5]*a[5][3]*a[2][4]*a[4][2]*a[1][0]*a[0][1]-a[0][5]*a[5][0]*a[2][4]*a[4][3]*a[3][2]*a[1][1]+a[0][5]*a[5][0]*a[2][4]*a[4][3]*a[3][1]*a[1][2]+a[3][5]*a[5][2]*a[0][4]*a[4][1]*a[2][3]*a[1][0]-a[3][5]*a[5][2]*a[0][4]*a[4][1]*a[2][0]*a[1][3]-a[0][5]*a[5][3]*a[1][4]*a[4][1]*a[3][0]*a[2][2]+a[0][5]*a[5][3]*a[1][4]*a[4][1]*a[3][2]*a[2][0]-a[3][5]*a[4][2]*a[2][4]*a[5][0]*a[0][3]*a[1][1]+a[3][5]*a[4][2]*a[2][4]*a[5][0]*a[0][1]*a[1][3]-a[2][5]*a[4][2]*a[3][4]*a[5][1]*a[1][0]*a[0][3]-a[0][5]*a[4][3]*a[3][4]*a[5][1]*a[1][0]*a[2][2]+a[0][5]*a[4][3]*a[3][4]*a[5][1]*a[1][2]*a[2][0]-a[1][5]*a[4][0]*a[3][4]*a[5][1]*a[2][2]*a[0][3]+a[1][5]*a[4][0]*a[3][4]*a[5][1]*a[0][2]*a[2][3]+a[3][5]*a[5][3]*a[2][4]*a[4][0]*a[0][1]*a[1][2]+a[2][5]*a[5][0]*a[0][4]*a[4][3]*a[3][2]*a[1][1]-a[2][5]*a[5][0]*a[0][4]*a[4][3]*a[3][1]*a[1][2]+a[2][5]*a[5][2]*a[1][4]*a[4][1]*a[0][0]*a[3][3]-a[2][5]*a[5][2]*a[1][4]*a[4][1]*a[3][0]*a[0][3]+a[0][5]*a[5][3]*a[2][4]*a[4][0]*a[3][2]*a[1][1]-a[0][5]*a[5][3]*a[2][4]*a[4][0]*a[3][1]*a[1][2]+a[3][5]*a[5][1]*a[1][4]*a[4][0]*a[2][2]*a[0][3]-a[3][5]*a[5][1]*a[1][4]*a[4][0]*a[0][2]*a[2][3]-a[3][5]*a[5][3]*a[1][4]*a[4][0]*a[0][1]*a[2][2]+a[3][5]*a[5][3]*a[1][4]*a[4][0]*a[0][2]*a[2][1]-a[3][5]*a[5][1]*a[2][4]*a[4][2]*a[0][0]*a[1][3]+a[3][5]*a[5][1]*a[2][4]*a[4][2]*a[1][0]*a[0][3]+a[1][5]*a[5][3]*a[2][4]*a[4][1]*a[3][2]*a[0][0]-a[1][5]*a[5][3]*a[2][4]*a[4][1]*a[3][0]*a[0][2]+a[1][5]*a[5][1]*a[3][4]*a[4][3]*a[0][0]*a[2][2]-a[1][5]*a[5][1]*a[3][4]*a[4][3]*a[2][0]*a[0][2]-a[2][5]*a[5][2]*a[0][4]*a[4][3]*a[3][0]*a[1][1]+a[2][5]*a[5][2]*a[0][4]*a[4][3]*a[3][1]*a[1][0]-a[0][5]*a[5][2]*a[3][4]*a[4][3]*a[2][0]*a[1][1]+a[0][5]*a[5][2]*a[3][4]*a[4][3]*a[1][0]*a[2][1]+a[1][5]*a[5][1]*a[2][4]*a[4][2]*a[0][0]*a[3][3]-a[1][5]*a[5][1]*a[2][4]*a[4][2]*a[3][0]*a[0][3]+a[1][5]*a[5][2]*a[3][4]*a[4][3]*a[2][0]*a[0][1]+a[0][5]*a[4][2]*a[3][4]*a[5][1]*a[2][3]*a[1][0]-a[0][5]*a[4][2]*a[3][4]*a[5][1]*a[2][0]*a[1][3]-a[2][5]*a[5][3]*a[0][4]*a[4][0]*a[3][2]*a[1][1]+a[2][5]*a[5][3]*a[0][4]*a[4][0]*a[3][1]*a[1][2]+a[2][5]*a[5][1]*a[0][4]*a[4][0]*a[1][3]*a[3][2]-a[3][5]*a[5][2]*a[0][4]*a[4][0]*a[2][3]*a[1][1]+a[3][5]*a[5][2]*a[0][4]*a[4][0]*a[2][1]*a[1][3]-a[0][5]*a[5][3]*a[2][4]*a[4][1]*a[3][2]*a[1][0]+a[0][5]*a[5][3]*a[2][4]*a[4][1]*a[3][0]*a[1][2]+a[3][5]*a[5][0]*a[1][4]*a[4][2]*a[2][1]*a[0][3]-a[3][5]*a[5][0]*a[1][4]*a[4][2]*a[2][3]*a[0][1]-a[2][5]*a[5][2]*a[3][4]*a[4][3]*a[1][0]*a[0][1]-a[1][5]*a[5][2]*a[0][4]*a[4][1]*a[2][3]*a[3][0]+a[1][5]*a[5][2]*a[0][4]*a[4][1]*a[3][3]*a[2][0]+a[0][5]*a[5][0]*a[3][4]*a[4][1]*a[1][2]*a[2][3]+a[0][5]*a[5][2]*a[1][4]*a[4][3]*a[2][0]*a[3][1]-a[0][5]*a[5][2]*a[1][4]*a[4][3]*a[2][1]*a[3][0]+a[0][5]*a[5][1]*a[3][4]*a[4][0]*a[2][2]*a[1][3]-a[0][5]*a[5][1]*a[3][4]*a[4][0]*a[1][2]*a[2][3]+a[1][5]*a[5][3]*a[3][4]*a[4][0]*a[0][1]*a[2][2]-a[1][5]*a[5][3]*a[3][4]*a[4][0]*a[0][2]*a[2][1]-a[1][5]*a[5][1]*a[0][4]*a[4][3]*a[3][0]*a[2][2]+a[1][5]*a[5][1]*a[0][4]*a[4][3]*a[3][2]*a[2][0]+a[3][5]*a[5][3]*a[0][4]*a[4][0]*a[2][2]*a[1][1]-a[3][5]*a[5][3]*a[0][4]*a[4][0]*a[2][1]*a[1][2]+a[1][5]*a[4][2]*a[3][4]*a[5][3]*a[0][0]*a[2][1]-a[1][5]*a[4][2]*a[3][4]*a[5][3]*a[2][0]*a[0][1]+a[0][5]*a[5][0]*a[1][4]*a[4][3]*a[3][2]*a[2][1]-a[1][5]*a[5][1]*a[0][4]*a[4][0]*a[3][2]*a[2][3]+a[1][5]*a[5][1]*a[0][4]*a[4][0]*a[2][2]*a[3][3]-a[1][5]*a[5][0]*a[2][4]*a[4][2]*a[3][3]*a[0][1]+a[1][5]*a[5][0]*a[2][4]*a[4][2]*a[0][3]*a[3][1]+a[3][5]*a[5][0]*a[0][4]*a[4][2]*a[2][3]*a[1][1]-a[3][5]*a[5][0]*a[0][4]*a[4][2]*a[2][1]*a[1][3]-a[1][5]*a[5][3]*a[2][4]*a[4][2]*a[0][0]*a[3][1]+a[1][5]*a[5][3]*a[2][4]*a[4][2]*a[3][0]*a[0][1]-a[2][5]*a[5][2]*a[1][4]*a[4][0]*a[3][3]*a[0][1]+a[2][5]*a[5][2]*a[1][4]*a[4][0]*a[0][3]*a[3][1]-a[2][5]*a[5][1]*a[3][4]*a[4][3]*a[0][0]*a[1][2]+a[2][5]*a[5][1]*a[3][4]*a[4][3]*a[1][0]*a[0][2]-a[2][5]*a[5][3]*a[3][4]*a[4][1]*a[1][0]*a[0][2]-a[1][5]*a[5][3]*a[3][4]*a[4][1]*a[0][0]*a[2][2]+a[1][5]*a[5][3]*a[3][4]*a[4][1]*a[2][0]*a[0][2]+a[4][5]*a[0][4]*a[5][2]*a[1][1]*a[2][3]*a[3][0]-a[4][5]*a[0][4]*a[5][2]*a[1][1]*a[3][3]*a[2][0]-a[4][5]*a[0][4]*a[5][2]*a[2][1]*a[1][3]*a[3][0]+a[4][5]*a[0][4]*a[5][2]*a[3][3]*a[1][0]*a[2][1]-a[4][5]*a[0][4]*a[5][2]*a[2][3]*a[1][0]*a[3][1]+a[4][5]*a[0][4]*a[5][2]*a[3][1]*a[1][3]*a[2][0]+a[1][5]*a[5][3]*a[4][4]*a[0][0]*a[2][2]*a[3][1]-a[1][5]*a[5][3]*a[4][4]*a[0][0]*a[3][2]*a[2][1]-a[1][5]*a[5][3]*a[4][4]*a[2][2]*a[3][0]*a[0][1]-a[1][5]*a[5][3]*a[4][4]*a[2][0]*a[0][2]*a[3][1]+a[1][5]*a[5][3]*a[4][4]*a[3][0]*a[0][2]*a[2][1]+a[1][5]*a[5][3]*a[4][4]*a[3][2]*a[2][0]*a[0][1]+a[0][5]*a[4][2]*a[5][4]*a[1][1]*a[2][3]*a[3][0]-a[0][5]*a[4][2]*a[5][4]*a[1][1]*a[3][3]*a[2][0]-a[0][5]*a[4][2]*a[5][4]*a[2][1]*a[1][3]*a[3][0]+a[0][5]*a[4][2]*a[5][4]*a[3][3]*a[1][0]*a[2][1]-a[0][5]*a[4][2]*a[5][4]*a[2][3]*a[1][0]*a[3][1]+a[0][5]*a[4][2]*a[5][4]*a[3][1]*a[1][3]*a[2][0]+a[1][5]*a[4][2]*a[5][4]*a[0][0]*a[2][3]*a[3][1]-a[1][5]*a[4][2]*a[5][4]*a[0][0]*a[3][3]*a[2][1]+a[1][5]*a[4][2]*a[5][4]*a[3][0]*a[0][3]*a[2][1]-a[1][5]*a[4][2]*a[5][4]*a[2][3]*a[3][0]*a[0][1]+a[1][5]*a[4][2]*a[5][4]*a[3][3]*a[2][0]*a[0][1]-a[1][5]*a[4][2]*a[5][4]*a[2][0]*a[0][3]*a[3][1]-a[1][5]*a[4][3]*a[5][4]*a[0][0]*a[2][2]*a[3][1]+a[1][5]*a[4][3]*a[5][4]*a[0][0]*a[3][2]*a[2][1]+a[1][5]*a[4][3]*a[5][4]*a[2][2]*a[3][0]*a[0][1]-a[1][5]*a[4][3]*a[5][4]*a[3][0]*a[0][2]*a[2][1]-a[1][5]*a[4][3]*a[5][4]*a[3][2]*a[2][0]*a[0][1]+a[1][5]*a[4][3]*a[5][4]*a[2][0]*a[0][2]*a[3][1]-a[0][5]*a[4][3]*a[5][4]*a[1][1]*a[2][2]*a[3][0]+a[0][5]*a[4][3]*a[5][4]*a[1][1]*a[3][2]*a[2][0]+a[0][5]*a[4][3]*a[5][4]*a[2][1]*a[1][2]*a[3][0]+a[0][5]*a[4][3]*a[5][4]*a[2][2]*a[1][0]*a[3][1]-a[0][5]*a[4][3]*a[5][4]*a[3][2]*a[1][0]*a[2][1]-a[0][5]*a[4][3]*a[5][4]*a[3][1]*a[1][2]*a[2][0]+a[2][5]*a[4][3]*a[5][4]*a[0][0]*a[3][1]*a[1][2]+a[2][5]*a[4][3]*a[5][4]*a[1][1]*a[3][0]*a[0][2]-a[2][5]*a[4][3]*a[5][4]*a[3][1]*a[1][0]*a[0][2]+a[2][5]*a[4][3]*a[5][4]*a[1][0]*a[0][1]*a[3][2]-a[2][5]*a[4][3]*a[5][4]*a[3][0]*a[0][1]*a[1][2]-a[0][5]*a[4][1]*a[5][4]*a[2][2]*a[1][0]*a[3][3]+a[0][5]*a[4][1]*a[5][4]*a[2][2]*a[1][3]*a[3][0]+a[0][5]*a[4][1]*a[5][4]*a[1][2]*a[2][0]*a[3][3]-a[0][5]*a[4][1]*a[5][4]*a[1][2]*a[2][3]*a[3][0]-a[0][5]*a[4][1]*a[5][4]*a[1][3]*a[3][2]*a[2][0]+a[0][5]*a[4][1]*a[5][4]*a[3][2]*a[2][3]*a[1][0]+a[4][5]*a[0][4]*a[5][0]*a[1][1]*a[2][2]*a[3][3]+a[4][5]*a[0][4]*a[5][0]*a[3][2]*a[2][1]*a[1][3]-a[4][5]*a[0][4]*a[5][0]*a[2][2]*a[3][1]*a[1][3]-a[4][5]*a[0][4]*a[5][0]*a[2][1]*a[1][2]*a[3][3]+a[4][5]*a[0][4]*a[5][0]*a[3][1]*a[1][2]*a[2][3]+a[4][5]*a[0][4]*a[5][1]*a[2][2]*a[1][3]*a[3][0]+a[4][5]*a[0][4]*a[5][1]*a[1][2]*a[2][0]*a[3][3]-a[4][5]*a[0][4]*a[5][1]*a[1][2]*a[2][3]*a[3][0]-a[4][5]*a[0][4]*a[5][1]*a[1][3]*a[3][2]*a[2][0]+a[4][5]*a[0][4]*a[5][1]*a[3][2]*a[2][3]*a[1][0]-a[4][5]*a[3][4]*a[5][0]*a[1][1]*a[2][2]*a[0][3]+a[4][5]*a[3][4]*a[5][0]*a[1][1]*a[0][2]*a[2][3]-a[4][5]*a[3][4]*a[5][0]*a[0][2]*a[2][1]*a[1][3]+a[4][5]*a[3][4]*a[5][0]*a[2][2]*a[0][1]*a[1][3]+a[4][5]*a[3][4]*a[5][0]*a[2][1]*a[1][2]*a[0][3]-a[4][5]*a[3][4]*a[5][0]*a[0][1]*a[1][2]*a[2][3]-a[2][5]*a[4][0]*a[5][4]*a[1][1]*a[3][3]*a[0][2]+a[2][5]*a[4][0]*a[5][4]*a[1][1]*a[0][3]*a[3][2]+a[2][5]*a[4][0]*a[5][4]*a[3][3]*a[0][1]*a[1][2]-a[2][5]*a[4][0]*a[5][4]*a[0][1]*a[1][3]*a[3][2]-a[2][5]*a[4][0]*a[5][4]*a[0][3]*a[3][1]*a[1][2]+a[2][5]*a[4][0]*a[5][4]*a[3][1]*a[1][3]*a[0][2]-a[2][5]*a[4][1]*a[5][4]*a[0][0]*a[3][3]*a[1][2]+a[2][5]*a[4][1]*a[5][4]*a[0][0]*a[1][3]*a[3][2]+a[2][5]*a[4][1]*a[5][4]*a[1][0]*a[0][2]*a[3][3]-a[2][5]*a[4][1]*a[5][4]*a[1][0]*a[0][3]*a[3][2]-a[2][5]*a[4][1]*a[5][4]*a[1][3]*a[3][0]*a[0][2]+a[2][5]*a[4][1]*a[5][4]*a[3][0]*a[0][3]*a[1][2]-a[5][5]*a[3][4]*a[4][2]*a[0][0]*a[2][1]*a[1][3]+a[5][5]*a[3][4]*a[4][2]*a[0][0]*a[1][1]*a[2][3]+a[5][5]*a[3][4]*a[4][2]*a[2][1]*a[1][0]*a[0][3]-a[5][5]*a[3][4]*a[4][2]*a[1][1]*a[2][0]*a[0][3]-a[5][5]*a[3][4]*a[4][2]*a[1][0]*a[0][1]*a[2][3]+a[5][5]*a[3][4]*a[4][2]*a[2][0]*a[0][1]*a[1][3]+a[2][5]*a[5][3]*a[4][4]*a[0][0]*a[1][1]*a[3][2]+a[2][5]*a[5][3]*a[4][4]*a[3][1]*a[1][0]*a[0][2]-a[2][5]*a[5][3]*a[4][4]*a[1][1]*a[3][0]*a[0][2]-a[2][5]*a[5][3]*a[4][4]*a[1][0]*a[0][1]*a[3][2]+a[2][5]*a[5][3]*a[4][4]*a[3][0]*a[0][1]*a[1][2]-a[3][5]*a[5][3]*a[4][4]*a[0][0]*a[1][1]*a[2][2]+a[3][5]*a[5][3]*a[4][4]*a[0][0]*a[2][1]*a[1][2]-a[3][5]*a[5][3]*a[4][4]*a[2][1]*a[1][0]*a[0][2]+a[3][5]*a[5][3]*a[4][4]*a[1][1]*a[2][0]*a[0][2]+a[3][5]*a[5][3]*a[4][4]*a[1][0]*a[0][1]*a[2][2]-a[3][5]*a[5][3]*a[4][4]*a[2][0]*a[0][1]*a[1][2]+a[5][5]*a[2][4]*a[4][0]*a[1][1]*a[3][3]*a[0][2]-a[5][5]*a[2][4]*a[4][0]*a[1][1]*a[0][3]*a[3][2]-a[5][5]*a[2][4]*a[4][0]*a[3][3]*a[0][1]*a[1][2]+a[5][5]*a[2][4]*a[4][0]*a[0][1]*a[1][3]*a[3][2]+a[5][5]*a[2][4]*a[4][0]*a[0][3]*a[3][1]*a[1][2]-a[5][5]*a[2][4]*a[4][0]*a[3][1]*a[1][3]*a[0][2]+a[5][5]*a[3][4]*a[4][1]*a[0][0]*a[2][2]*a[1][3]-a[5][5]*a[3][4]*a[4][1]*a[0][0]*a[1][2]*a[2][3]-a[5][5]*a[3][4]*a[4][1]*a[2][2]*a[1][0]*a[0][3]-a[5][5]*a[3][4]*a[4][1]*a[2][0]*a[0][2]*a[1][3]+a[5][5]*a[3][4]*a[4][1]*a[1][0]*a[0][2]*a[2][3]+a[5][5]*a[3][4]*a[4][1]*a[1][2]*a[2][0]*a[0][3]-a[3][5]*a[5][2]*a[4][4]*a[0][0]*a[2][1]*a[1][3]+a[3][5]*a[5][2]*a[4][4]*a[0][0]*a[1][1]*a[2][3]+a[3][5]*a[5][2]*a[4][4]*a[2][1]*a[1][0]*a[0][3]-a[3][5]*a[5][2]*a[4][4]*a[1][1]*a[2][0]*a[0][3]-a[3][5]*a[5][2]*a[4][4]*a[1][0]*a[0][1]*a[2][3]+a[3][5]*a[5][2]*a[4][4]*a[2][0]*a[0][1]*a[1][3]-a[3][5]*a[5][1]*a[0][4]*a[4][0]*a[2][2]*a[1][3]+a[3][5]*a[5][1]*a[0][4]*a[4][0]*a[1][2]*a[2][3]+a[1][5]*a[5][2]*a[3][4]*a[4][0]*a[2][1]*a[0][3]-a[1][5]*a[5][2]*a[3][4]*a[4][0]*a[2][3]*a[0][1]+a[1][5]*a[5][3]*a[0][4]*a[4][0]*a[3][2]*a[2][1]+a[0][5]*a[5][3]*a[2][4]*a[4][2]*a[3][1]*a[1][0]-a[3][5]*a[5][3]*a[0][4]*a[4][1]*a[1][0]*a[2][2]+a[3][5]*a[5][3]*a[0][4]*a[4][1]*a[1][2]*a[2][0]+a[1][5]*a[5][0]*a[0][4]*a[4][1]*a[3][2]*a[2][3]-a[1][5]*a[5][0]*a[0][4]*a[4][1]*a[2][2]*a[3][3]+a[2][5]*a[5][3]*a[0][4]*a[4][2]*a[3][0]*a[1][1]-a[2][5]*a[5][3]*a[0][4]*a[4][2]*a[3][1]*a[1][0]+a[0][5]*a[4][3]*a[1][4]*a[5][1]*a[3][0]*a[2][2]-a[0][5]*a[4][3]*a[1][4]*a[5][1]*a[3][2]*a[2][0]+a[3][5]*a[4][3]*a[1][4]*a[5][1]*a[2][0]*a[0][2]+a[0][5]*a[4][2]*a[1][4]*a[5][3]*a[2][1]*a[3][0]+a[0][5]*a[4][3]*a[3][4]*a[5][0]*a[2][2]*a[1][1]-a[0][5]*a[4][3]*a[3][4]*a[5][0]*a[2][1]*a[1][2]-a[2][5]*a[4][3]*a[0][4]*a[5][1]*a[3][2]*a[1][0]+a[2][5]*a[4][3]*a[0][4]*a[5][1]*a[3][0]*a[1][2]+a[3][5]*a[5][2]*a[1][4]*a[4][1]*a[2][0]*a[0][3]-a[0][5]*a[5][1]*a[2][4]*a[4][3]*a[3][0]*a[1][2]-a[3][5]*a[4][3]*a[0][4]*a[5][0]*a[2][2]*a[1][1]+a[3][5]*a[4][3]*a[0][4]*a[5][0]*a[2][1]*a[1][2]+a[0][5]*a[5][2]*a[1][4]*a[4][0]*a[3][3]*a[2][1]-a[2][5]*a[5][1]*a[1][4]*a[4][0]*a[0][3]*a[3][2]-a[0][5]*a[4][1]*a[3][4]*a[5][2]*a[2][3]*a[1][0]+a[0][5]*a[4][1]*a[3][4]*a[5][2]*a[2][0]*a[1][3]+a[0][5]*a[4][0]*a[3][4]*a[5][2]*a[2][3]*a[1][1]-a[0][5]*a[4][0]*a[3][4]*a[5][2]*a[2][1]*a[1][3]-a[1][5]*a[4][1]*a[3][4]*a[5][0]*a[0][2]*a[2][3]-a[2][5]*a[5][2]*a[3][4]*a[4][0]*a[0][3]*a[1][1]+a[2][5]*a[5][2]*a[3][4]*a[4][0]*a[0][1]*a[1][3]-a[2][5]*a[5][0]*a[1][4]*a[4][2]*a[0][3]*a[3][1]+a[0][5]*a[5][0]*a[1][4]*a[4][2]*a[2][3]*a[3][1]-a[0][5]*a[5][0]*a[1][4]*a[4][2]*a[3][3]*a[2][1]+a[0][5]*a[5][1]*a[1][4]*a[4][2]*a[3][3]*a[2][0]-a[2][5]*a[5][1]*a[1][4]*a[4][2]*a[0][0]*a[3][3]+a[2][5]*a[5][1]*a[1][4]*a[4][2]*a[3][0]*a[0][3]+a[1][5]*a[5][0]*a[2][4]*a[4][3]*a[0][1]*a[3][2]+a[1][5]*a[5][2]*a[2][4]*a[4][1]*a[3][0]*a[0][3]+a[3][5]*a[4][1]*a[2][4]*a[5][3]*a[1][0]*a[0][2]+a[1][5]*a[4][2]*a[0][4]*a[5][1]*a[2][3]*a[3][0]-a[1][5]*a[4][2]*a[0][4]*a[5][1]*a[3][3]*a[2][0]+a[2][5]*a[5][0]*a[1][4]*a[4][3]*a[0][2]*a[3][1]-a[2][5]*a[5][0]*a[1][4]*a[4][3]*a[0][1]*a[3][2]+a[0][5]*a[4][1]*a[2][4]*a[5][2]*a[1][0]*a[3][3]-a[0][5]*a[4][1]*a[2][4]*a[5][2]*a[1][3]*a[3][0]+a[2][5]*a[5][0]*a[3][4]*a[4][2]*a[0][3]*a[1][1]-a[2][5]*a[5][0]*a[3][4]*a[4][2]*a[0][1]*a[1][3]-a[0][5]*a[5][3]*a[3][4]*a[4][2]*a[1][0]*a[2][1]+a[3][5]*a[5][0]*a[0][4]*a[4][1]*a[2][2]*a[1][3]-a[3][5]*a[5][0]*a[0][4]*a[4][1]*a[1][2]*a[2][3]-a[2][5]*a[5][0]*a[3][4]*a[4][1]*a[0][3]*a[1][2]+a[2][5]*a[5][0]*a[3][4]*a[4][1]*a[1][3]*a[0][2]-a[2][5]*a[5][3]*a[3][4]*a[4][2]*a[0][0]*a[1][1]+a[2][5]*a[5][3]*a[3][4]*a[4][2]*a[1][0]*a[0][1]-a[2][5]*a[5][2]*a[1][4]*a[4][3]*a[0][0]*a[3][1]+a[2][5]*a[5][2]*a[1][4]*a[4][3]*a[3][0]*a[0][1]-a[2][5]*a[5][3]*a[1][4]*a[4][1]*a[3][2]*a[0][0]+a[2][5]*a[5][3]*a[1][4]*a[4][1]*a[3][0]*a[0][2]+a[1][5]*a[5][3]*a[0][4]*a[4][1]*a[3][0]*a[2][2]-a[1][5]*a[5][3]*a[0][4]*a[4][1]*a[3][2]*a[2][0]+a[0][5]*a[5][1]*a[2][4]*a[4][0]*a[3][3]*a[1][2]-a[0][5]*a[5][1]*a[2][4]*a[4][0]*a[1][3]*a[3][2]+a[1][5]*a[5][0]*a[3][4]*a[4][2]*a[2][3]*a[0][1]-a[1][5]*a[5][0]*a[3][4]*a[4][2]*a[2][1]*a[0][3]+a[3][5]*a[4][3]*a[0][4]*a[5][2]*a[2][0]*a[1][1]-a[3][5]*a[4][3]*a[0][4]*a[5][2]*a[1][0]*a[2][1]-a[0][5]*a[5][2]*a[2][4]*a[4][0]*a[3][3]*a[1][1]+a[0][5]*a[5][2]*a[2][4]*a[4][0]*a[3][1]*a[1][3]);

    ainv[0][0] = (-a[5][2]*a[1][5]*a[3][3]*a[2][4]*a[4][1]-a[5][2]*a[1][5]*a[2][3]*a[3][1]*a[4][4]+a[5][2]*a[1][5]*a[3][3]*a[2][1]*a[4][4]-a[5][3]*a[3][5]*a[1][1]*a[4][4]*a[2][2]-a[5][5]*a[4][1]*a[1][3]*a[3][2]*a[2][4]-a[5][5]*a[4][3]*a[3][1]*a[1][2]*a[2][4]+a[5][4]*a[2][5]*a[1][1]*a[4][2]*a[3][3]+a[5][3]*a[4][5]*a[1][1]*a[3][4]*a[2][2]+a[5][1]*a[4][5]*a[2][2]*a[3][3]*a[1][4]+a[5][1]*a[3][5]*a[2][2]*a[1][3]*a[4][4]+a[5][5]*a[1][1]*a[2][2]*a[4][4]*a[3][3]+a[5][3]*a[3][5]*a[1][1]*a[4][2]*a[2][4]+a[5][3]*a[3][5]*a[4][1]*a[1][4]*a[2][2]+a[5][3]*a[3][5]*a[2][1]*a[1][2]*a[4][4]-a[5][5]*a[1][1]*a[2][2]*a[4][3]*a[3][4]-a[5][5]*a[1][1]*a[4][2]*a[2][4]*a[3][3]+a[5][5]*a[1][1]*a[4][2]*a[2][3]*a[3][4]+a[5][5]*a[1][1]*a[4][3]*a[3][2]*a[2][4]-a[5][5]*a[1][1]*a[3][2]*a[2][3]*a[4][4]-a[5][5]*a[2][2]*a[4][1]*a[1][4]*a[3][3]+a[5][5]*a[2][2]*a[4][1]*a[1][3]*a[3][4]+a[5][5]*a[2][2]*a[4][3]*a[3][1]*a[1][4]-a[5][5]*a[2][2]*a[3][1]*a[1][3]*a[4][4]+a[5][5]*a[3][3]*a[4][1]*a[1][2]*a[2][4]-a[5][5]*a[3][3]*a[2][1]*a[1][2]*a[4][4]+a[5][5]*a[3][3]*a[4][2]*a[2][1]*a[1][4]-a[5][5]*a[4][3]*a[3][2]*a[2][1]*a[1][4]-a[5][5]*a[4][2]*a[2][1]*a[1][3]*a[3][4]-a[5][5]*a[4][1]*a[1][2]*a[2][3]*a[3][4]+a[5][5]*a[4][3]*a[2][1]*a[1][2]*a[3][4]+a[5][5]*a[3][2]*a[2][1]*a[1][3]*a[4][4]+a[5][5]*a[4][2]*a[2][4]*a[3][1]*a[1][3]-a[5][5]*a[4][2]*a[2][3]*a[3][1]*a[1][4]+a[5][5]*a[4][4]*a[3][1]*a[1][2]*a[2][3]+a[5][5]*a[4][1]*a[1][4]*a[3][2]*a[2][3]-a[5][2]*a[2][5]*a[1][1]*a[4][4]*a[3][3]+a[5][2]*a[2][5]*a[1][1]*a[4][3]*a[3][4]+a[5][2]*a[2][5]*a[4][1]*a[1][4]*a[3][3]+a[5][2]*a[2][5]*a[4][4]*a[3][1]*a[1][3]-a[5][2]*a[2][5]*a[4][1]*a[1][3]*a[3][4]-a[5][2]*a[2][5]*a[4][3]*a[3][1]*a[1][4]-a[5][1]*a[3][5]*a[2][2]*a[4][3]*a[1][4]-a[5][1]*a[3][5]*a[1][2]*a[2][3]*a[4][4]+a[5][1]*a[3][5]*a[2][4]*a[4][3]*a[1][2]-a[5][1]*a[3][5]*a[1][3]*a[4][2]*a[2][4]+a[5][1]*a[3][5]*a[1][4]*a[4][2]*a[2][3]-a[5][3]*a[3][5]*a[4][2]*a[2][1]*a[1][4]-a[5][3]*a[3][5]*a[4][1]*a[1][2]*a[2][4]+a[5][4]*a[3][5]*a[1][1]*a[2][2]*a[4][3]-a[5][4]*a[3][5]*a[1][1]*a[4][2]*a[2][3]-a[5][4]*a[3][5]*a[2][2]*a[4][1]*a[1][3]+a[5][4]*a[3][5]*a[4][2]*a[2][1]*a[1][3]-a[5][4]*a[3][5]*a[2][1]*a[1][2]*a[4][3]+a[5][4]*a[3][5]*a[4][1]*a[1][2]*a[2][3]+a[5][3]*a[1][5]*a[2][2]*a[3][1]*a[4][4]-a[5][3]*a[1][5]*a[2][2]*a[3][4]*a[4][1]-a[5][3]*a[1][5]*a[3][2]*a[2][1]*a[4][4]+a[5][3]*a[1][5]*a[4][2]*a[3][4]*a[2][1]+a[5][3]*a[1][5]*a[2][4]*a[4][1]*a[3][2]-a[5][3]*a[1][5]*a[2][4]*a[4][2]*a[3][1]+a[5][3]*a[2][5]*a[1][1]*a[4][4]*a[3][2]-a[5][3]*a[2][5]*a[1][1]*a[3][4]*a[4][2]-a[5][3]*a[2][5]*a[3][1]*a[1][2]*a[4][4]-a[5][3]*a[2][5]*a[1][4]*a[4][1]*a[3][2]+a[5][3]*a[2][5]*a[3][4]*a[4][1]*a[1][2]+a[5][3]*a[2][5]*a[1][4]*a[4][2]*a[3][1]-a[5][1]*a[4][5]*a[2][2]*a[1][3]*a[3][4]-a[5][1]*a[4][5]*a[3][3]*a[1][2]*a[2][4]+a[5][1]*a[4][5]*a[1][3]*a[3][2]*a[2][4]-a[5][1]*a[4][5]*a[3][2]*a[2][3]*a[1][4]+a[5][1]*a[4][5]*a[1][2]*a[2][3]*a[3][4]+a[5][2]*a[4][5]*a[1][1]*a[2][4]*a[3][3]-a[5][2]*a[4][5]*a[1][1]*a[3][4]*a[2][3]-a[5][2]*a[4][5]*a[3][3]*a[2][1]*a[1][4]+a[5][2]*a[4][5]*a[2][1]*a[1][3]*a[3][4]-a[5][2]*a[4][5]*a[3][1]*a[1][3]*a[2][4]+a[5][2]*a[4][5]*a[2][3]*a[3][1]*a[1][4]+a[5][4]*a[4][5]*a[1][1]*a[3][2]*a[2][3]-a[5][4]*a[4][5]*a[1][1]*a[2][2]*a[3][3]-a[5][4]*a[4][5]*a[3][1]*a[1][2]*a[2][3]-a[5][4]*a[4][5]*a[3][2]*a[2][1]*a[1][3]+a[5][4]*a[4][5]*a[2][2]*a[3][1]*a[1][3]+a[5][4]*a[4][5]*a[2][1]*a[1][2]*a[3][3]+a[5][2]*a[1][5]*a[4][1]*a[3][4]*a[2][3]-a[5][2]*a[1][5]*a[3][4]*a[4][3]*a[2][1]+a[5][2]*a[1][5]*a[2][4]*a[4][3]*a[3][1]-a[5][4]*a[2][5]*a[1][1]*a[4][3]*a[3][2]-a[5][4]*a[2][5]*a[4][1]*a[1][2]*a[3][3]+a[5][4]*a[2][5]*a[4][1]*a[1][3]*a[3][2]-a[5][4]*a[2][5]*a[4][2]*a[3][1]*a[1][3]+a[5][4]*a[2][5]*a[4][3]*a[3][1]*a[1][2]+a[5][2]*a[3][5]*a[1][1]*a[2][3]*a[4][4]-a[5][2]*a[3][5]*a[1][1]*a[2][4]*a[4][3]-a[5][2]*a[3][5]*a[2][1]*a[1][3]*a[4][4]+a[5][2]*a[3][5]*a[1][4]*a[4][3]*a[2][1]+a[5][2]*a[3][5]*a[2][4]*a[4][1]*a[1][3]-a[5][2]*a[3][5]*a[1][4]*a[4][1]*a[2][3]+a[5][4]*a[1][5]*a[2][2]*a[3][3]*a[4][1]-a[5][4]*a[1][5]*a[2][2]*a[4][3]*a[3][1]+a[5][4]*a[1][5]*a[4][2]*a[2][3]*a[3][1]-a[5][4]*a[1][5]*a[3][2]*a[2][3]*a[4][1]-a[5][4]*a[1][5]*a[3][3]*a[4][2]*a[2][1]+a[5][4]*a[1][5]*a[4][3]*a[3][2]*a[2][1]-a[5][1]*a[1][5]*a[2][2]*a[4][4]*a[3][3]+a[5][1]*a[1][5]*a[2][2]*a[4][3]*a[3][4]+a[5][1]*a[1][5]*a[4][2]*a[2][4]*a[3][3]+a[5][1]*a[1][5]*a[3][2]*a[2][3]*a[4][4]-a[5][1]*a[1][5]*a[4][2]*a[2][3]*a[3][4]-a[5][1]*a[1][5]*a[4][3]*a[3][2]*a[2][4]+a[5][1]*a[2][5]*a[3][3]*a[1][2]*a[4][4]-a[5][1]*a[2][5]*a[3][3]*a[1][4]*a[4][2]-a[5][1]*a[2][5]*a[1][3]*a[3][2]*a[4][4]-a[5][1]*a[2][5]*a[1][2]*a[4][3]*a[3][4]+a[5][1]*a[2][5]*a[1][4]*a[4][3]*a[3][2]+a[5][1]*a[2][5]*a[4][2]*a[3][4]*a[1][3]-a[5][3]*a[4][5]*a[1][1]*a[2][4]*a[3][2]-a[5][3]*a[4][5]*a[3][1]*a[1][4]*a[2][2]+a[5][3]*a[4][5]*a[3][1]*a[1][2]*a[2][4]+a[5][3]*a[4][5]*a[3][2]*a[2][1]*a[1][4]-a[5][3]*a[4][5]*a[3][4]*a[2][1]*a[1][2])/det;
    ainv[1][0] = (-a[5][4]*a[1][5]*a[2][2]*a[4][0]*a[3][3]+a[5][4]*a[1][5]*a[2][2]*a[4][3]*a[3][0]+a[5][4]*a[1][5]*a[4][2]*a[2][0]*a[3][3]+a[5][4]*a[1][5]*a[4][0]*a[3][2]*a[2][3]-a[5][4]*a[1][5]*a[4][2]*a[2][3]*a[3][0]-a[5][4]*a[1][5]*a[4][3]*a[3][2]*a[2][0]+a[5][2]*a[3][5]*a[4][4]*a[1][3]*a[2][0]-a[5][2]*a[3][5]*a[4][4]*a[2][3]*a[1][0]-a[5][2]*a[3][5]*a[1][3]*a[4][0]*a[2][4]+a[5][2]*a[3][5]*a[2][4]*a[4][3]*a[1][0]-a[5][2]*a[3][5]*a[1][4]*a[4][3]*a[2][0]+a[5][2]*a[3][5]*a[2][3]*a[1][4]*a[4][0]-a[5][3]*a[2][5]*a[4][4]*a[3][2]*a[1][0]+a[5][3]*a[2][5]*a[4][4]*a[1][2]*a[3][0]-a[5][3]*a[2][5]*a[1][4]*a[4][2]*a[3][0]+a[5][3]*a[2][5]*a[3][4]*a[4][2]*a[1][0]-a[5][3]*a[2][5]*a[1][2]*a[4][0]*a[3][4]+a[5][3]*a[2][5]*a[3][2]*a[1][4]*a[4][0]-a[5][0]*a[2][5]*a[3][3]*a[1][2]*a[4][4]+a[5][0]*a[2][5]*a[3][3]*a[1][4]*a[4][2]+a[5][0]*a[2][5]*a[1][3]*a[3][2]*a[4][4]-a[5][0]*a[2][5]*a[1][4]*a[4][3]*a[3][2]-a[5][0]*a[2][5]*a[4][2]*a[3][4]*a[1][3]+a[5][0]*a[2][5]*a[3][4]*a[4][3]*a[1][2]-a[5][3]*a[1][5]*a[2][2]*a[3][0]*a[4][4]-a[5][0]*a[4][5]*a[2][2]*a[1][4]*a[3][3]+a[5][0]*a[4][5]*a[2][2]*a[3][4]*a[1][3]+a[5][0]*a[4][5]*a[2][4]*a[1][2]*a[3][3]-a[5][0]*a[4][5]*a[3][4]*a[1][2]*a[2][3]+a[5][0]*a[4][5]*a[1][4]*a[3][2]*a[2][3]-a[5][0]*a[4][5]*a[2][4]*a[1][3]*a[3][2]+a[5][4]*a[3][5]*a[2][2]*a[1][3]*a[4][0]-a[5][4]*a[3][5]*a[2][2]*a[4][3]*a[1][0]+a[5][4]*a[3][5]*a[4][3]*a[1][2]*a[2][0]-a[5][4]*a[3][5]*a[1][3]*a[4][2]*a[2][0]-a[5][4]*a[3][5]*a[1][2]*a[2][3]*a[4][0]+a[5][4]*a[3][5]*a[4][2]*a[2][3]*a[1][0]+a[5][3]*a[1][5]*a[2][2]*a[4][0]*a[3][4]+a[5][3]*a[1][5]*a[3][2]*a[2][0]*a[4][4]+a[5][3]*a[1][5]*a[4][2]*a[2][4]*a[3][0]-a[5][3]*a[1][5]*a[2][4]*a[4][0]*a[3][2]-a[5][3]*a[1][5]*a[3][4]*a[4][2]*a[2][0]+a[5][2]*a[4][5]*a[3][3]*a[1][4]*a[2][0]-a[5][2]*a[4][5]*a[3][3]*a[2][4]*a[1][0]+a[5][2]*a[4][5]*a[3][4]*a[2][3]*a[1][0]-a[5][2]*a[4][5]*a[3][4]*a[1][3]*a[2][0]-a[5][2]*a[4][5]*a[1][4]*a[2][3]*a[3][0]+a[5][2]*a[4][5]*a[2][4]*a[1][3]*a[3][0]-a[5][2]*a[1][5]*a[3][3]*a[2][0]*a[4][4]+a[5][2]*a[1][5]*a[3][3]*a[4][0]*a[2][4]+a[5][2]*a[1][5]*a[2][3]*a[3][0]*a[4][4]-a[5][2]*a[1][5]*a[4][3]*a[2][4]*a[3][0]-a[5][2]*a[1][5]*a[3][4]*a[4][0]*a[2][3]+a[5][2]*a[1][5]*a[3][4]*a[4][3]*a[2][0]+a[5][3]*a[3][5]*a[2][2]*a[1][0]*a[4][4]-a[5][3]*a[3][5]*a[2][2]*a[1][4]*a[4][0]-a[5][3]*a[3][5]*a[1][2]*a[2][0]*a[4][4]+a[5][3]*a[3][5]*a[1][4]*a[4][2]*a[2][0]-a[5][3]*a[3][5]*a[2][4]*a[4][2]*a[1][0]+a[5][3]*a[3][5]*a[1][2]*a[2][4]*a[4][0]+a[5][0]*a[1][5]*a[2][2]*a[4][4]*a[3][3]-a[5][0]*a[1][5]*a[2][2]*a[4][3]*a[3][4]+a[5][0]*a[1][5]*a[4][2]*a[2][3]*a[3][4]-a[5][5]*a[2][2]*a[1][4]*a[4][3]*a[3][0]+a[5][5]*a[2][2]*a[4][4]*a[1][3]*a[3][0]+a[5][5]*a[2][2]*a[4][3]*a[3][4]*a[1][0]-a[5][5]*a[2][2]*a[1][3]*a[3][4]*a[4][0]-a[5][5]*a[3][3]*a[1][2]*a[2][4]*a[4][0]+a[5][5]*a[3][3]*a[4][4]*a[1][2]*a[2][0]+a[5][5]*a[3][3]*a[4][2]*a[2][4]*a[1][0]-a[5][5]*a[3][3]*a[1][4]*a[4][2]*a[2][0]+a[5][5]*a[1][3]*a[3][4]*a[4][2]*a[2][0]-a[5][5]*a[1][4]*a[3][2]*a[2][3]*a[4][0]+a[5][5]*a[1][4]*a[4][3]*a[3][2]*a[2][0]-a[5][5]*a[4][4]*a[1][3]*a[3][2]*a[2][0]+a[5][5]*a[1][4]*a[4][2]*a[2][3]*a[3][0]-a[5][5]*a[4][4]*a[1][2]*a[2][3]*a[3][0]-a[5][5]*a[4][2]*a[2][4]*a[1][3]*a[3][0]+a[5][5]*a[3][2]*a[2][3]*a[4][4]*a[1][0]+a[5][5]*a[1][3]*a[3][2]*a[2][4]*a[4][0]-a[5][5]*a[4][2]*a[2][3]*a[3][4]*a[1][0]+a[5][5]*a[1][2]*a[2][3]*a[3][4]*a[4][0]-a[5][5]*a[4][3]*a[3][4]*a[1][2]*a[2][0]-a[5][5]*a[4][3]*a[3][2]*a[2][4]*a[1][0]+a[5][5]*a[1][2]*a[2][4]*a[4][3]*a[3][0]+a[5][2]*a[2][5]*a[3][3]*a[1][0]*a[4][4]-a[5][2]*a[2][5]*a[3][3]*a[1][4]*a[4][0]-a[5][2]*a[2][5]*a[4][4]*a[1][3]*a[3][0]-a[5][2]*a[2][5]*a[4][3]*a[3][4]*a[1][0]+a[5][2]*a[2][5]*a[1][4]*a[4][3]*a[3][0]+a[5][2]*a[2][5]*a[1][3]*a[3][4]*a[4][0]+a[5][0]*a[1][5]*a[4][3]*a[3][2]*a[2][4]-a[5][0]*a[1][5]*a[3][2]*a[2][3]*a[4][4]-a[5][0]*a[1][5]*a[4][2]*a[2][4]*a[3][3]+a[5][4]*a[4][5]*a[2][2]*a[1][0]*a[3][3]-a[5][4]*a[4][5]*a[2][2]*a[1][3]*a[3][0]-a[5][4]*a[4][5]*a[1][2]*a[2][0]*a[3][3]-a[5][4]*a[4][5]*a[3][2]*a[2][3]*a[1][0]+a[5][4]*a[4][5]*a[1][2]*a[2][3]*a[3][0]+a[5][4]*a[4][5]*a[1][3]*a[3][2]*a[2][0]-a[5][0]*a[3][5]*a[2][2]*a[1][3]*a[4][4]+a[5][0]*a[3][5]*a[2][2]*a[1][4]*a[4][3]+a[5][0]*a[3][5]*a[1][2]*a[2][3]*a[4][4]-a[5][0]*a[3][5]*a[2][4]*a[4][3]*a[1][2]+a[5][0]*a[3][5]*a[4][2]*a[2][4]*a[1][3]-a[5][0]*a[3][5]*a[1][4]*a[4][2]*a[2][3]+a[5][4]*a[2][5]*a[3][3]*a[1][2]*a[4][0]-a[5][4]*a[2][5]*a[3][3]*a[4][2]*a[1][0]+a[5][4]*a[2][5]*a[4][2]*a[1][3]*a[3][0]+a[5][4]*a[2][5]*a[4][3]*a[3][2]*a[1][0]-a[5][4]*a[2][5]*a[1][3]*a[3][2]*a[4][0]-a[5][4]*a[2][5]*a[1][2]*a[4][3]*a[3][0]+a[5][5]*a[2][2]*a[3][3]*a[1][4]*a[4][0]-a[5][5]*a[2][2]*a[3][3]*a[4][4]*a[1][0]-a[5][3]*a[4][5]*a[2][2]*a[3][4]*a[1][0]+a[5][3]*a[4][5]*a[2][2]*a[1][4]*a[3][0]-a[5][3]*a[4][5]*a[2][4]*a[1][2]*a[3][0]+a[5][3]*a[4][5]*a[2][4]*a[3][2]*a[1][0]-a[5][3]*a[4][5]*a[1][4]*a[3][2]*a[2][0]+a[5][3]*a[4][5]*a[3][4]*a[1][2]*a[2][0])/det;
    ainv[2][0] = (-a[5][1]*a[3][5]*a[4][4]*a[1][3]*a[2][0]+a[5][1]*a[3][5]*a[4][4]*a[2][3]*a[1][0]-a[5][1]*a[3][5]*a[2][3]*a[1][4]*a[4][0]+a[5][1]*a[3][5]*a[4][3]*a[1][4]*a[2][0]+a[5][1]*a[3][5]*a[1][3]*a[2][4]*a[4][0]-a[5][1]*a[3][5]*a[2][4]*a[4][3]*a[1][0]-a[5][4]*a[3][5]*a[1][1]*a[4][3]*a[2][0]+a[5][4]*a[3][5]*a[1][1]*a[2][3]*a[4][0]+a[5][4]*a[3][5]*a[4][3]*a[1][0]*a[2][1]-a[5][4]*a[3][5]*a[2][3]*a[4][1]*a[1][0]-a[5][4]*a[3][5]*a[2][1]*a[1][3]*a[4][0]+a[5][4]*a[3][5]*a[4][1]*a[1][3]*a[2][0]+a[5][3]*a[4][5]*a[1][1]*a[2][4]*a[3][0]-a[5][3]*a[4][5]*a[1][1]*a[3][4]*a[2][0]-a[5][3]*a[4][5]*a[1][4]*a[2][1]*a[3][0]+a[5][3]*a[4][5]*a[1][4]*a[3][1]*a[2][0]+a[5][3]*a[4][5]*a[3][4]*a[1][0]*a[2][1]-a[5][3]*a[4][5]*a[2][4]*a[1][0]*a[3][1]-a[5][4]*a[2][5]*a[1][1]*a[4][0]*a[3][3]+a[5][4]*a[2][5]*a[1][1]*a[4][3]*a[3][0]+a[5][4]*a[2][5]*a[4][1]*a[1][0]*a[3][3]+a[5][4]*a[2][5]*a[3][1]*a[1][3]*a[4][0]-a[5][4]*a[2][5]*a[4][3]*a[1][0]*a[3][1]-a[5][4]*a[2][5]*a[4][1]*a[1][3]*a[3][0]-a[5][0]*a[1][5]*a[3][3]*a[2][1]*a[4][4]+a[5][0]*a[1][5]*a[3][3]*a[4][1]*a[2][4]+a[5][0]*a[1][5]*a[2][3]*a[3][1]*a[4][4]-a[5][0]*a[1][5]*a[2][4]*a[4][3]*a[3][1]-a[5][0]*a[1][5]*a[4][1]*a[3][4]*a[2][3]+a[5][0]*a[1][5]*a[2][1]*a[3][4]*a[4][3]-a[5][4]*a[1][5]*a[3][3]*a[4][1]*a[2][0]+a[5][4]*a[1][5]*a[3][3]*a[2][1]*a[4][0]+a[5][4]*a[1][5]*a[4][3]*a[3][1]*a[2][0]-a[5][4]*a[1][5]*a[2][3]*a[3][1]*a[4][0]+a[5][4]*a[1][5]*a[4][1]*a[2][3]*a[3][0]-a[5][4]*a[1][5]*a[2][1]*a[4][3]*a[3][0]-a[5][0]*a[4][5]*a[1][1]*a[2][4]*a[3][3]+a[5][0]*a[4][5]*a[1][1]*a[3][4]*a[2][3]+a[5][0]*a[4][5]*a[1][4]*a[2][1]*a[3][3]+a[5][0]*a[4][5]*a[2][4]*a[3][1]*a[1][3]-a[5][0]*a[4][5]*a[1][4]*a[2][3]*a[3][1]-a[5][0]*a[4][5]*a[3][4]*a[2][1]*a[1][3]+a[5][1]*a[1][5]*a[3][3]*a[4][4]*a[2][0]-a[5][1]*a[1][5]*a[3][3]*a[2][4]*a[4][0]-a[5][1]*a[1][5]*a[4][4]*a[2][3]*a[3][0]+a[5][1]*a[1][5]*a[2][4]*a[4][3]*a[3][0]-a[5][1]*a[1][5]*a[4][3]*a[3][4]*a[2][0]+a[5][1]*a[1][5]*a[2][3]*a[3][4]*a[4][0]-a[5][0]*a[3][5]*a[1][1]*a[2][3]*a[4][4]+a[5][0]*a[3][5]*a[1][1]*a[2][4]*a[4][3]+a[5][0]*a[3][5]*a[2][1]*a[1][3]*a[4][4]-a[5][0]*a[3][5]*a[4][1]*a[2][4]*a[1][3]+a[5][0]*a[3][5]*a[2][3]*a[1][4]*a[4][1]-a[5][0]*a[3][5]*a[1][4]*a[4][3]*a[2][1]+a[5][5]*a[1][1]*a[3][3]*a[2][4]*a[4][0]+a[5][5]*a[1][1]*a[4][3]*a[3][4]*a[2][0]+a[5][5]*a[3][3]*a[4][4]*a[1][0]*a[2][1]+a[5][5]*a[3][3]*a[4][1]*a[1][4]*a[2][0]-a[5][5]*a[3][3]*a[2][1]*a[1][4]*a[4][0]-a[5][5]*a[4][1]*a[1][3]*a[3][4]*a[2][0]-a[5][5]*a[4][3]*a[3][4]*a[1][0]*a[2][1]-a[5][3]*a[1][5]*a[4][4]*a[3][1]*a[2][0]+a[5][3]*a[1][5]*a[4][4]*a[2][1]*a[3][0]+a[5][3]*a[1][5]*a[3][4]*a[4][1]*a[2][0]-a[5][3]*a[1][5]*a[2][1]*a[4][0]*a[3][4]-a[5][3]*a[1][5]*a[4][1]*a[2][4]*a[3][0]+a[5][3]*a[1][5]*a[3][1]*a[2][4]*a[4][0]+a[5][3]*a[3][5]*a[1][1]*a[2][0]*a[4][4]-a[5][3]*a[3][5]*a[1][1]*a[2][4]*a[4][0]-a[5][3]*a[3][5]*a[1][0]*a[2][1]*a[4][4]-a[5][3]*a[3][5]*a[4][1]*a[1][4]*a[2][0]+a[5][3]*a[3][5]*a[2][1]*a[1][4]*a[4][0]+a[5][3]*a[3][5]*a[2][4]*a[1][0]*a[4][1]-a[5][3]*a[2][5]*a[1][1]*a[3][0]*a[4][4]+a[5][3]*a[2][5]*a[1][1]*a[4][0]*a[3][4]+a[5][3]*a[2][5]*a[1][0]*a[3][1]*a[4][4]-a[5][3]*a[2][5]*a[4][1]*a[3][4]*a[1][0]-a[5][3]*a[2][5]*a[1][4]*a[4][0]*a[3][1]+a[5][3]*a[2][5]*a[1][4]*a[4][1]*a[3][0]-a[5][1]*a[2][5]*a[3][3]*a[1][0]*a[4][4]+a[5][1]*a[2][5]*a[3][3]*a[1][4]*a[4][0]+a[5][1]*a[2][5]*a[1][3]*a[3][0]*a[4][4]-a[5][1]*a[2][5]*a[3][4]*a[4][0]*a[1][3]+a[5][1]*a[2][5]*a[3][4]*a[4][3]*a[1][0]-a[5][1]*a[2][5]*a[1][4]*a[4][3]*a[3][0]+a[5][0]*a[2][5]*a[1][1]*a[4][4]*a[3][3]-a[5][0]*a[2][5]*a[1][1]*a[4][3]*a[3][4]-a[5][5]*a[1][1]*a[3][3]*a[4][4]*a[2][0]-a[5][0]*a[2][5]*a[1][4]*a[4][1]*a[3][3]-a[5][0]*a[2][5]*a[3][1]*a[1][3]*a[4][4]+a[5][0]*a[2][5]*a[1][4]*a[4][3]*a[3][1]+a[5][0]*a[2][5]*a[4][1]*a[3][4]*a[1][3]+a[5][4]*a[4][5]*a[1][1]*a[2][0]*a[3][3]-a[5][4]*a[4][5]*a[1][1]*a[2][3]*a[3][0]-a[5][4]*a[4][5]*a[1][0]*a[2][1]*a[3][3]+a[5][4]*a[4][5]*a[2][3]*a[1][0]*a[3][1]+a[5][4]*a[4][5]*a[2][1]*a[1][3]*a[3][0]-a[5][4]*a[4][5]*a[3][1]*a[1][3]*a[2][0]+a[5][1]*a[4][5]*a[3][3]*a[2][4]*a[1][0]-a[5][1]*a[4][5]*a[3][3]*a[1][4]*a[2][0]-a[5][1]*a[4][5]*a[2][4]*a[1][3]*a[3][0]+a[5][1]*a[4][5]*a[3][4]*a[1][3]*a[2][0]+a[5][1]*a[4][5]*a[1][4]*a[2][3]*a[3][0]-a[5][1]*a[4][5]*a[3][4]*a[2][3]*a[1][0]-a[5][5]*a[1][1]*a[2][3]*a[3][4]*a[4][0]+a[5][5]*a[1][1]*a[4][4]*a[2][3]*a[3][0]-a[5][5]*a[1][1]*a[2][4]*a[4][3]*a[3][0]-a[5][5]*a[3][3]*a[2][4]*a[1][0]*a[4][1]-a[5][5]*a[2][4]*a[3][1]*a[1][3]*a[4][0]-a[5][5]*a[4][1]*a[1][4]*a[2][3]*a[3][0]+a[5][5]*a[2][1]*a[1][4]*a[4][3]*a[3][0]-a[5][5]*a[4][3]*a[3][1]*a[1][4]*a[2][0]+a[5][5]*a[2][4]*a[4][3]*a[1][0]*a[3][1]-a[5][5]*a[4][4]*a[2][1]*a[1][3]*a[3][0]+a[5][5]*a[2][4]*a[4][1]*a[1][3]*a[3][0]+a[5][5]*a[2][3]*a[3][4]*a[1][0]*a[4][1]+a[5][5]*a[2][3]*a[3][1]*a[1][4]*a[4][0]-a[5][5]*a[4][4]*a[2][3]*a[1][0]*a[3][1]+a[5][5]*a[2][1]*a[1][3]*a[3][4]*a[4][0]+a[5][5]*a[3][1]*a[1][3]*a[4][4]*a[2][0])/det;
    ainv[3][0] = (a[5][1]*a[4][5]*a[2][4]*a[1][2]*a[3][0]+a[5][4]*a[4][5]*a[1][1]*a[3][0]*a[2][2]-a[5][4]*a[4][5]*a[1][1]*a[3][2]*a[2][0]-a[5][4]*a[4][5]*a[1][0]*a[3][1]*a[2][2]+a[5][4]*a[4][5]*a[3][1]*a[1][2]*a[2][0]+a[5][4]*a[4][5]*a[3][2]*a[1][0]*a[2][1]-a[5][4]*a[4][5]*a[2][1]*a[1][2]*a[3][0]-a[5][0]*a[4][5]*a[1][1]*a[3][4]*a[2][2]+a[5][0]*a[4][5]*a[1][1]*a[2][4]*a[3][2]+a[5][0]*a[4][5]*a[1][4]*a[3][1]*a[2][2]-a[5][0]*a[4][5]*a[2][4]*a[3][1]*a[1][2]+a[5][0]*a[4][5]*a[3][4]*a[2][1]*a[1][2]-a[5][0]*a[4][5]*a[1][4]*a[3][2]*a[2][1]-a[5][5]*a[1][1]*a[2][2]*a[4][4]*a[3][0]+a[5][4]*a[1][5]*a[4][2]*a[2][1]*a[3][0]+a[5][4]*a[1][5]*a[4][1]*a[3][2]*a[2][0]-a[5][4]*a[1][5]*a[3][2]*a[2][1]*a[4][0]-a[5][4]*a[1][5]*a[3][1]*a[4][2]*a[2][0]+a[5][0]*a[3][5]*a[1][1]*a[4][4]*a[2][2]-a[5][0]*a[3][5]*a[1][1]*a[4][2]*a[2][4]-a[5][0]*a[3][5]*a[4][1]*a[1][4]*a[2][2]-a[5][0]*a[3][5]*a[2][1]*a[1][2]*a[4][4]+a[5][0]*a[3][5]*a[2][4]*a[4][1]*a[1][2]+a[5][0]*a[3][5]*a[4][2]*a[1][4]*a[2][1]-a[5][2]*a[3][5]*a[1][1]*a[2][0]*a[4][4]+a[5][2]*a[3][5]*a[1][1]*a[4][0]*a[2][4]+a[5][2]*a[3][5]*a[1][0]*a[2][1]*a[4][4]+a[5][2]*a[3][5]*a[4][1]*a[1][4]*a[2][0]-a[5][2]*a[3][5]*a[2][4]*a[4][1]*a[1][0]-a[5][2]*a[3][5]*a[4][0]*a[1][4]*a[2][1]-a[5][0]*a[1][5]*a[2][2]*a[3][1]*a[4][4]+a[5][0]*a[1][5]*a[2][2]*a[3][4]*a[4][1]+a[5][0]*a[1][5]*a[3][2]*a[2][1]*a[4][4]+a[5][0]*a[1][5]*a[4][2]*a[2][4]*a[3][1]-a[5][0]*a[1][5]*a[2][4]*a[4][1]*a[3][2]-a[5][0]*a[1][5]*a[3][4]*a[4][2]*a[2][1]+a[5][2]*a[2][5]*a[1][1]*a[3][0]*a[4][4]-a[5][2]*a[2][5]*a[1][1]*a[3][4]*a[4][0]-a[5][2]*a[2][5]*a[1][0]*a[3][1]*a[4][4]+a[5][2]*a[2][5]*a[3][4]*a[1][0]*a[4][1]+a[5][2]*a[2][5]*a[3][1]*a[1][4]*a[4][0]-a[5][2]*a[2][5]*a[4][1]*a[1][4]*a[3][0]-a[5][1]*a[3][5]*a[2][2]*a[1][0]*a[4][4]+a[5][5]*a[1][1]*a[2][2]*a[3][4]*a[4][0]+a[5][1]*a[3][5]*a[2][2]*a[1][4]*a[4][0]+a[5][1]*a[3][5]*a[1][2]*a[2][0]*a[4][4]-a[5][1]*a[3][5]*a[2][4]*a[4][0]*a[1][2]-a[5][1]*a[3][5]*a[1][4]*a[4][2]*a[2][0]+a[5][1]*a[3][5]*a[4][2]*a[2][4]*a[1][0]-a[5][0]*a[2][5]*a[1][1]*a[3][2]*a[4][4]+a[5][0]*a[2][5]*a[1][1]*a[4][2]*a[3][4]+a[5][0]*a[2][5]*a[3][1]*a[1][2]*a[4][4]+a[5][0]*a[2][5]*a[4][1]*a[1][4]*a[3][2]-a[5][0]*a[2][5]*a[1][4]*a[4][2]*a[3][1]-a[5][0]*a[2][5]*a[3][4]*a[4][1]*a[1][2]+a[5][1]*a[1][5]*a[2][2]*a[3][0]*a[4][4]-a[5][1]*a[1][5]*a[2][2]*a[3][4]*a[4][0]-a[5][1]*a[1][5]*a[3][2]*a[2][0]*a[4][4]-a[5][1]*a[1][5]*a[4][2]*a[2][4]*a[3][0]+a[5][1]*a[1][5]*a[3][2]*a[2][4]*a[4][0]+a[5][1]*a[1][5]*a[3][4]*a[4][2]*a[2][0]+a[5][1]*a[2][5]*a[4][4]*a[3][2]*a[1][0]-a[5][1]*a[2][5]*a[4][4]*a[1][2]*a[3][0]-a[5][1]*a[2][5]*a[3][2]*a[1][4]*a[4][0]+a[5][1]*a[2][5]*a[1][2]*a[3][4]*a[4][0]-a[5][1]*a[2][5]*a[4][2]*a[3][4]*a[1][0]+a[5][1]*a[2][5]*a[1][4]*a[4][2]*a[3][0]-a[5][2]*a[4][5]*a[1][1]*a[2][4]*a[3][0]+a[5][2]*a[4][5]*a[1][1]*a[3][4]*a[2][0]+a[5][2]*a[4][5]*a[2][4]*a[1][0]*a[3][1]-a[5][2]*a[4][5]*a[1][4]*a[3][1]*a[2][0]-a[5][2]*a[4][5]*a[3][4]*a[1][0]*a[2][1]+a[5][2]*a[4][5]*a[1][4]*a[2][1]*a[3][0]-a[5][4]*a[3][5]*a[1][1]*a[4][0]*a[2][2]+a[5][4]*a[3][5]*a[1][1]*a[4][2]*a[2][0]+a[5][4]*a[3][5]*a[4][1]*a[1][0]*a[2][2]-a[5][4]*a[3][5]*a[4][1]*a[1][2]*a[2][0]+a[5][4]*a[3][5]*a[2][1]*a[1][2]*a[4][0]-a[5][4]*a[3][5]*a[4][2]*a[1][0]*a[2][1]-a[5][2]*a[1][5]*a[4][4]*a[2][1]*a[3][0]+a[5][2]*a[1][5]*a[4][4]*a[3][1]*a[2][0]-a[5][2]*a[1][5]*a[3][4]*a[4][1]*a[2][0]-a[5][2]*a[1][5]*a[3][1]*a[4][0]*a[2][4]+a[5][2]*a[1][5]*a[2][4]*a[4][1]*a[3][0]+a[5][2]*a[1][5]*a[2][1]*a[3][4]*a[4][0]+a[5][1]*a[4][5]*a[2][2]*a[3][4]*a[1][0]-a[5][1]*a[4][5]*a[2][2]*a[1][4]*a[3][0]+a[5][1]*a[4][5]*a[1][4]*a[3][2]*a[2][0]-a[5][1]*a[4][5]*a[3][4]*a[1][2]*a[2][0]-a[5][1]*a[4][5]*a[2][4]*a[3][2]*a[1][0]-a[5][5]*a[1][1]*a[3][4]*a[4][2]*a[2][0]+a[5][5]*a[1][1]*a[4][4]*a[3][2]*a[2][0]-a[5][5]*a[2][2]*a[3][1]*a[1][4]*a[4][0]+a[5][5]*a[2][2]*a[4][4]*a[1][0]*a[3][1]+a[5][5]*a[2][2]*a[4][1]*a[1][4]*a[3][0]-a[5][5]*a[2][2]*a[3][4]*a[1][0]*a[4][1]-a[5][5]*a[4][4]*a[3][2]*a[1][0]*a[2][1]+a[5][5]*a[3][2]*a[2][1]*a[1][4]*a[4][0]+a[5][5]*a[3][2]*a[2][4]*a[1][0]*a[4][1]-a[5][5]*a[4][4]*a[3][1]*a[1][2]*a[2][0]-a[5][5]*a[4][2]*a[2][4]*a[1][0]*a[3][1]+a[5][5]*a[3][4]*a[4][1]*a[1][2]*a[2][0]+a[5][5]*a[3][1]*a[1][2]*a[2][4]*a[4][0]+a[5][5]*a[4][4]*a[2][1]*a[1][2]*a[3][0]-a[5][5]*a[3][4]*a[2][1]*a[1][2]*a[4][0]+a[5][5]*a[3][1]*a[1][4]*a[4][2]*a[2][0]-a[5][5]*a[4][1]*a[1][4]*a[3][2]*a[2][0]+a[5][5]*a[3][4]*a[4][2]*a[1][0]*a[2][1]-a[5][5]*a[4][2]*a[2][1]*a[1][4]*a[3][0]-a[5][5]*a[4][1]*a[1][2]*a[2][4]*a[3][0]+a[5][4]*a[2][5]*a[1][1]*a[3][2]*a[4][0]-a[5][4]*a[2][5]*a[1][1]*a[4][2]*a[3][0]+a[5][4]*a[2][5]*a[4][2]*a[1][0]*a[3][1]-a[5][4]*a[2][5]*a[3][2]*a[4][1]*a[1][0]-a[5][4]*a[2][5]*a[3][1]*a[1][2]*a[4][0]+a[5][4]*a[2][5]*a[4][1]*a[1][2]*a[3][0]-a[5][4]*a[1][5]*a[2][2]*a[4][1]*a[3][0]+a[5][4]*a[1][5]*a[2][2]*a[3][1]*a[4][0]+a[5][5]*a[1][1]*a[4][2]*a[2][4]*a[3][0]-a[5][5]*a[1][1]*a[3][2]*a[2][4]*a[4][0])/det;
    ainv[4][0] = (a[5][2]*a[1][5]*a[2][3]*a[3][1]*a[4][0]-a[5][2]*a[1][5]*a[4][1]*a[2][3]*a[3][0]+a[5][2]*a[1][5]*a[2][1]*a[4][3]*a[3][0]-a[5][2]*a[1][5]*a[4][3]*a[3][1]*a[2][0]+a[5][2]*a[2][5]*a[1][1]*a[4][0]*a[3][3]-a[5][2]*a[2][5]*a[1][1]*a[4][3]*a[3][0]-a[5][2]*a[2][5]*a[1][0]*a[4][1]*a[3][3]+a[5][2]*a[2][5]*a[4][1]*a[1][3]*a[3][0]+a[5][2]*a[2][5]*a[4][3]*a[1][0]*a[3][1]-a[5][2]*a[2][5]*a[3][1]*a[1][3]*a[4][0]-a[5][2]*a[3][5]*a[1][1]*a[2][3]*a[4][0]+a[5][2]*a[3][5]*a[1][1]*a[4][3]*a[2][0]-a[5][2]*a[3][5]*a[4][3]*a[1][0]*a[2][1]+a[5][2]*a[3][5]*a[2][3]*a[1][0]*a[4][1]-a[5][2]*a[3][5]*a[4][1]*a[1][3]*a[2][0]+a[5][2]*a[3][5]*a[2][1]*a[1][3]*a[4][0]-a[5][0]*a[1][5]*a[2][2]*a[4][1]*a[3][3]+a[5][1]*a[1][5]*a[2][2]*a[4][0]*a[3][3]-a[5][1]*a[1][5]*a[2][2]*a[4][3]*a[3][0]-a[5][1]*a[1][5]*a[4][2]*a[2][0]*a[3][3]-a[5][1]*a[1][5]*a[3][2]*a[2][3]*a[4][0]+a[5][1]*a[1][5]*a[4][3]*a[3][2]*a[2][0]+a[5][1]*a[1][5]*a[4][2]*a[2][3]*a[3][0]-a[5][1]*a[2][5]*a[3][3]*a[1][2]*a[4][0]+a[5][1]*a[2][5]*a[3][3]*a[4][2]*a[1][0]+a[5][1]*a[2][5]*a[1][3]*a[3][2]*a[4][0]+a[5][1]*a[2][5]*a[1][2]*a[4][3]*a[3][0]-a[5][1]*a[2][5]*a[4][3]*a[3][2]*a[1][0]-a[5][1]*a[2][5]*a[4][2]*a[1][3]*a[3][0]+a[5][5]*a[1][1]*a[2][2]*a[4][3]*a[3][0]+a[5][0]*a[1][5]*a[4][2]*a[2][1]*a[3][3]+a[5][0]*a[1][5]*a[4][1]*a[3][2]*a[2][3]-a[5][0]*a[1][5]*a[4][2]*a[2][3]*a[3][1]-a[5][0]*a[1][5]*a[4][3]*a[3][2]*a[2][1]+a[5][0]*a[1][5]*a[2][2]*a[4][3]*a[3][1]-a[5][5]*a[1][1]*a[2][2]*a[3][3]*a[4][0]+a[5][5]*a[1][1]*a[3][2]*a[2][3]*a[4][0]-a[5][5]*a[1][1]*a[4][2]*a[2][3]*a[3][0]-a[5][5]*a[1][1]*a[4][3]*a[3][2]*a[2][0]+a[5][5]*a[1][1]*a[3][3]*a[4][2]*a[2][0]-a[5][5]*a[2][2]*a[4][3]*a[1][0]*a[3][1]-a[5][5]*a[2][2]*a[4][1]*a[1][3]*a[3][0]+a[5][5]*a[2][2]*a[3][3]*a[1][0]*a[4][1]+a[5][5]*a[2][2]*a[3][1]*a[1][3]*a[4][0]-a[5][5]*a[3][3]*a[4][1]*a[1][2]*a[2][0]+a[5][5]*a[4][2]*a[2][1]*a[1][3]*a[3][0]+a[5][5]*a[4][1]*a[1][3]*a[3][2]*a[2][0]-a[5][5]*a[3][2]*a[2][1]*a[1][3]*a[4][0]+a[5][5]*a[4][3]*a[3][2]*a[1][0]*a[2][1]-a[5][5]*a[3][1]*a[1][2]*a[2][3]*a[4][0]-a[5][5]*a[3][2]*a[2][3]*a[1][0]*a[4][1]+a[5][5]*a[3][3]*a[2][1]*a[1][2]*a[4][0]-a[5][5]*a[3][3]*a[4][2]*a[1][0]*a[2][1]-a[5][5]*a[3][1]*a[1][3]*a[4][2]*a[2][0]+a[5][5]*a[4][2]*a[2][3]*a[1][0]*a[3][1]-a[5][5]*a[4][3]*a[2][1]*a[1][2]*a[3][0]+a[5][5]*a[4][3]*a[3][1]*a[1][2]*a[2][0]+a[5][5]*a[4][1]*a[1][2]*a[2][3]*a[3][0]+a[5][1]*a[3][5]*a[2][2]*a[4][3]*a[1][0]-a[5][1]*a[3][5]*a[2][2]*a[1][3]*a[4][0]-a[5][1]*a[3][5]*a[4][2]*a[2][3]*a[1][0]+a[5][1]*a[3][5]*a[1][2]*a[2][3]*a[4][0]-a[5][1]*a[3][5]*a[4][3]*a[1][2]*a[2][0]+a[5][1]*a[3][5]*a[1][3]*a[4][2]*a[2][0]-a[5][2]*a[4][5]*a[1][1]*a[2][0]*a[3][3]+a[5][2]*a[4][5]*a[1][1]*a[2][3]*a[3][0]+a[5][2]*a[4][5]*a[1][0]*a[2][1]*a[3][3]-a[5][2]*a[4][5]*a[2][1]*a[1][3]*a[3][0]+a[5][2]*a[4][5]*a[3][1]*a[1][3]*a[2][0]-a[5][2]*a[4][5]*a[2][3]*a[1][0]*a[3][1]-a[5][3]*a[1][5]*a[2][2]*a[3][1]*a[4][0]+a[5][3]*a[1][5]*a[2][2]*a[4][1]*a[3][0]-a[5][3]*a[1][5]*a[4][1]*a[3][2]*a[2][0]+a[5][3]*a[1][5]*a[3][2]*a[2][1]*a[4][0]+a[5][3]*a[1][5]*a[3][1]*a[4][2]*a[2][0]-a[5][3]*a[1][5]*a[4][2]*a[2][1]*a[3][0]-a[5][3]*a[4][5]*a[1][1]*a[3][0]*a[2][2]+a[5][3]*a[4][5]*a[1][1]*a[3][2]*a[2][0]+a[5][3]*a[4][5]*a[1][0]*a[3][1]*a[2][2]+a[5][3]*a[4][5]*a[2][1]*a[1][2]*a[3][0]-a[5][3]*a[4][5]*a[3][2]*a[1][0]*a[2][1]-a[5][3]*a[4][5]*a[3][1]*a[1][2]*a[2][0]-a[5][0]*a[2][5]*a[1][1]*a[4][2]*a[3][3]+a[5][0]*a[2][5]*a[1][1]*a[4][3]*a[3][2]+a[5][0]*a[2][5]*a[4][1]*a[1][2]*a[3][3]-a[5][0]*a[2][5]*a[4][3]*a[3][1]*a[1][2]+a[5][0]*a[2][5]*a[3][1]*a[1][3]*a[4][2]-a[5][0]*a[2][5]*a[4][1]*a[1][3]*a[3][2]-a[5][1]*a[4][5]*a[2][2]*a[1][0]*a[3][3]+a[5][1]*a[4][5]*a[2][2]*a[1][3]*a[3][0]+a[5][1]*a[4][5]*a[1][2]*a[2][0]*a[3][3]-a[5][1]*a[4][5]*a[1][3]*a[3][2]*a[2][0]-a[5][1]*a[4][5]*a[1][2]*a[2][3]*a[3][0]+a[5][1]*a[4][5]*a[3][2]*a[2][3]*a[1][0]+a[5][0]*a[4][5]*a[1][1]*a[3][3]*a[2][2]-a[5][0]*a[4][5]*a[1][1]*a[3][2]*a[2][3]-a[5][0]*a[4][5]*a[3][1]*a[1][3]*a[2][2]-a[5][0]*a[4][5]*a[2][1]*a[1][2]*a[3][3]+a[5][0]*a[4][5]*a[3][1]*a[1][2]*a[2][3]+a[5][0]*a[4][5]*a[3][2]*a[2][1]*a[1][3]-a[5][0]*a[3][5]*a[1][1]*a[4][3]*a[2][2]+a[5][0]*a[3][5]*a[1][1]*a[4][2]*a[2][3]+a[5][0]*a[3][5]*a[4][1]*a[1][3]*a[2][2]-a[5][0]*a[3][5]*a[4][2]*a[2][1]*a[1][3]+a[5][0]*a[3][5]*a[4][3]*a[2][1]*a[1][2]-a[5][0]*a[3][5]*a[4][1]*a[1][2]*a[2][3]+a[5][3]*a[3][5]*a[1][1]*a[4][0]*a[2][2]-a[5][3]*a[3][5]*a[1][1]*a[4][2]*a[2][0]-a[5][3]*a[3][5]*a[1][0]*a[4][1]*a[2][2]-a[5][3]*a[3][5]*a[2][1]*a[1][2]*a[4][0]+a[5][3]*a[3][5]*a[4][1]*a[1][2]*a[2][0]+a[5][3]*a[3][5]*a[4][2]*a[1][0]*a[2][1]-a[5][3]*a[2][5]*a[1][1]*a[3][2]*a[4][0]+a[5][3]*a[2][5]*a[1][1]*a[4][2]*a[3][0]-a[5][3]*a[2][5]*a[4][2]*a[1][0]*a[3][1]+a[5][3]*a[2][5]*a[3][1]*a[1][2]*a[4][0]+a[5][3]*a[2][5]*a[3][2]*a[1][0]*a[4][1]-a[5][3]*a[2][5]*a[4][1]*a[1][2]*a[3][0]+a[5][2]*a[1][5]*a[3][3]*a[4][1]*a[2][0]-a[5][2]*a[1][5]*a[3][3]*a[2][1]*a[4][0])/det;
    ainv[5][0] = (a[5][0]*a[1][4]*a[4][2]*a[2][3]*a[3][1]-a[5][0]*a[1][4]*a[4][2]*a[3][3]*a[2][1]-a[4][3]*a[2][4]*a[5][0]*a[3][2]*a[1][1]+a[4][3]*a[2][4]*a[5][0]*a[3][1]*a[1][2]-a[5][0]*a[1][4]*a[4][1]*a[3][2]*a[2][3]+a[5][0]*a[1][4]*a[4][1]*a[2][2]*a[3][3]+a[5][2]*a[3][4]*a[4][0]*a[2][3]*a[1][1]+a[5][1]*a[1][4]*a[4][3]*a[3][0]*a[2][2]-a[5][1]*a[1][4]*a[4][3]*a[3][2]*a[2][0]-a[5][3]*a[1][4]*a[4][2]*a[2][0]*a[3][1]+a[5][3]*a[1][4]*a[4][2]*a[2][1]*a[3][0]+a[4][2]*a[2][4]*a[5][0]*a[3][3]*a[1][1]-a[4][2]*a[2][4]*a[5][0]*a[3][1]*a[1][3]-a[5][3]*a[1][4]*a[4][1]*a[3][0]*a[2][2]+a[5][3]*a[1][4]*a[4][1]*a[3][2]*a[2][0]-a[4][0]*a[3][4]*a[5][3]*a[2][2]*a[1][1]+a[4][0]*a[3][4]*a[5][3]*a[2][1]*a[1][2]+a[5][1]*a[4][4]*a[2][2]*a[1][0]*a[3][3]-a[5][1]*a[4][4]*a[2][2]*a[1][3]*a[3][0]-a[5][1]*a[4][4]*a[1][2]*a[2][0]*a[3][3]-a[5][0]*a[4][4]*a[1][1]*a[2][2]*a[3][3]-a[5][0]*a[4][4]*a[3][1]*a[1][2]*a[2][3]-a[5][0]*a[4][4]*a[3][2]*a[2][1]*a[1][3]-a[4][0]*a[5][4]*a[1][1]*a[3][2]*a[2][3]+a[5][2]*a[2][4]*a[4][1]*a[1][0]*a[3][3]-a[5][2]*a[2][4]*a[4][1]*a[1][3]*a[3][0]+a[5][3]*a[3][4]*a[4][2]*a[2][0]*a[1][1]-a[5][3]*a[3][4]*a[4][2]*a[1][0]*a[2][1]+a[5][0]*a[4][4]*a[1][1]*a[3][2]*a[2][3]-a[4][2]*a[3][4]*a[5][0]*a[2][3]*a[1][1]+a[4][2]*a[3][4]*a[5][0]*a[2][1]*a[1][3]+a[5][1]*a[2][4]*a[4][0]*a[3][3]*a[1][2]-a[5][1]*a[2][4]*a[4][0]*a[1][3]*a[3][2]-a[4][2]*a[2][4]*a[5][3]*a[3][0]*a[1][1]+a[4][2]*a[2][4]*a[5][3]*a[3][1]*a[1][0]-a[5][2]*a[3][4]*a[4][3]*a[2][0]*a[1][1]+a[5][2]*a[3][4]*a[4][3]*a[1][0]*a[2][1]-a[5][1]*a[3][4]*a[4][3]*a[1][0]*a[2][2]+a[5][1]*a[3][4]*a[4][3]*a[1][2]*a[2][0]-a[5][2]*a[3][4]*a[4][1]*a[2][3]*a[1][0]-a[5][3]*a[2][4]*a[4][1]*a[3][2]*a[1][0]+a[5][3]*a[2][4]*a[4][1]*a[3][0]*a[1][2]-a[5][0]*a[1][4]*a[4][3]*a[3][1]*a[2][2]+a[5][3]*a[4][4]*a[1][1]*a[2][2]*a[3][0]+a[5][1]*a[4][4]*a[1][2]*a[2][3]*a[3][0]+a[5][1]*a[4][4]*a[1][3]*a[3][2]*a[2][0]+a[4][3]*a[1][4]*a[5][2]*a[2][0]*a[3][1]-a[4][3]*a[1][4]*a[5][2]*a[2][1]*a[3][0]+a[5][2]*a[3][4]*a[4][1]*a[2][0]*a[1][3]+a[5][3]*a[1][4]*a[4][0]*a[3][1]*a[2][2]-a[5][3]*a[1][4]*a[4][0]*a[3][2]*a[2][1]-a[4][1]*a[3][4]*a[5][0]*a[2][2]*a[1][3]+a[4][1]*a[3][4]*a[5][0]*a[1][2]*a[2][3]+a[5][1]*a[1][4]*a[4][0]*a[3][2]*a[2][3]-a[5][1]*a[1][4]*a[4][0]*a[2][2]*a[3][3]+a[5][0]*a[1][4]*a[4][3]*a[3][2]*a[2][1]-a[5][1]*a[2][4]*a[4][2]*a[1][0]*a[3][3]+a[5][1]*a[2][4]*a[4][2]*a[1][3]*a[3][0]+a[5][1]*a[3][4]*a[4][2]*a[2][3]*a[1][0]-a[5][1]*a[3][4]*a[4][2]*a[2][0]*a[1][3]+a[5][1]*a[3][4]*a[4][0]*a[2][2]*a[1][3]-a[5][1]*a[3][4]*a[4][0]*a[1][2]*a[2][3]-a[5][2]*a[3][4]*a[4][0]*a[2][1]*a[1][3]-a[4][1]*a[2][4]*a[5][0]*a[3][3]*a[1][2]+a[4][1]*a[2][4]*a[5][0]*a[1][3]*a[3][2]-a[4][0]*a[2][4]*a[5][2]*a[3][3]*a[1][1]+a[4][0]*a[2][4]*a[5][2]*a[3][1]*a[1][3]+a[4][1]*a[3][4]*a[5][3]*a[1][0]*a[2][2]-a[4][1]*a[3][4]*a[5][3]*a[1][2]*a[2][0]+a[5][1]*a[2][4]*a[4][3]*a[3][2]*a[1][0]-a[5][1]*a[2][4]*a[4][3]*a[3][0]*a[1][2]+a[4][1]*a[1][4]*a[5][2]*a[2][3]*a[3][0]-a[4][1]*a[1][4]*a[5][2]*a[3][3]*a[2][0]+a[5][0]*a[3][4]*a[4][3]*a[2][2]*a[1][1]-a[5][0]*a[3][4]*a[4][3]*a[2][1]*a[1][2]-a[4][0]*a[1][4]*a[5][2]*a[2][3]*a[3][1]+a[4][0]*a[1][4]*a[5][2]*a[3][3]*a[2][1]+a[5][3]*a[2][4]*a[4][0]*a[3][2]*a[1][1]-a[5][3]*a[2][4]*a[4][0]*a[3][1]*a[1][2]-a[5][1]*a[1][4]*a[4][2]*a[2][3]*a[3][0]+a[5][1]*a[1][4]*a[4][2]*a[3][3]*a[2][0]+a[4][3]*a[2][4]*a[5][2]*a[3][0]*a[1][1]-a[4][3]*a[2][4]*a[5][2]*a[3][1]*a[1][0]+a[4][2]*a[5][4]*a[1][1]*a[2][3]*a[3][0]-a[4][2]*a[5][4]*a[1][1]*a[3][3]*a[2][0]-a[4][2]*a[5][4]*a[2][1]*a[1][3]*a[3][0]+a[4][2]*a[5][4]*a[3][3]*a[1][0]*a[2][1]-a[4][2]*a[5][4]*a[2][3]*a[1][0]*a[3][1]+a[4][2]*a[5][4]*a[3][1]*a[1][3]*a[2][0]+a[5][0]*a[4][4]*a[2][2]*a[3][1]*a[1][3]+a[5][0]*a[4][4]*a[2][1]*a[1][2]*a[3][3]-a[5][1]*a[4][4]*a[3][2]*a[2][3]*a[1][0]-a[4][3]*a[5][4]*a[1][1]*a[2][2]*a[3][0]+a[4][3]*a[5][4]*a[1][1]*a[3][2]*a[2][0]+a[4][3]*a[5][4]*a[2][1]*a[1][2]*a[3][0]+a[4][3]*a[5][4]*a[2][2]*a[1][0]*a[3][1]-a[4][3]*a[5][4]*a[3][2]*a[1][0]*a[2][1]-a[4][3]*a[5][4]*a[3][1]*a[1][2]*a[2][0]+a[4][0]*a[5][4]*a[1][1]*a[2][2]*a[3][3]+a[4][0]*a[5][4]*a[3][2]*a[2][1]*a[1][3]-a[4][0]*a[5][4]*a[2][2]*a[3][1]*a[1][3]-a[4][0]*a[5][4]*a[2][1]*a[1][2]*a[3][3]+a[4][0]*a[5][4]*a[3][1]*a[1][2]*a[2][3]-a[5][2]*a[4][4]*a[1][1]*a[2][3]*a[3][0]+a[5][2]*a[4][4]*a[1][1]*a[3][3]*a[2][0]-a[5][2]*a[4][4]*a[3][3]*a[1][0]*a[2][1]-a[5][2]*a[4][4]*a[3][1]*a[1][3]*a[2][0]+a[5][2]*a[4][4]*a[2][3]*a[1][0]*a[3][1]+a[5][2]*a[4][4]*a[2][1]*a[1][3]*a[3][0]-a[4][1]*a[5][4]*a[2][2]*a[1][0]*a[3][3]+a[4][1]*a[5][4]*a[2][2]*a[1][3]*a[3][0]+a[4][1]*a[5][4]*a[1][2]*a[2][0]*a[3][3]-a[4][1]*a[5][4]*a[1][2]*a[2][3]*a[3][0]-a[4][1]*a[5][4]*a[1][3]*a[3][2]*a[2][0]+a[4][1]*a[5][4]*a[3][2]*a[2][3]*a[1][0]-a[5][3]*a[4][4]*a[1][1]*a[3][2]*a[2][0]-a[5][3]*a[4][4]*a[2][2]*a[1][0]*a[3][1]+a[5][3]*a[4][4]*a[3][1]*a[1][2]*a[2][0]-a[5][3]*a[4][4]*a[2][1]*a[1][2]*a[3][0]+a[5][3]*a[4][4]*a[3][2]*a[1][0]*a[2][1])/det;
    
    ainv[0][1] = (a[5][1]*a[3][5]*a[4][2]*a[2][4]*a[0][3]-a[5][1]*a[3][5]*a[0][4]*a[4][2]*a[2][3]-a[5][1]*a[3][5]*a[2][4]*a[4][3]*a[0][2]-a[5][3]*a[2][5]*a[4][4]*a[3][2]*a[0][1]-a[5][3]*a[2][5]*a[0][4]*a[4][2]*a[3][1]+a[5][3]*a[2][5]*a[3][2]*a[0][4]*a[4][1]-a[5][1]*a[4][5]*a[2][2]*a[0][4]*a[3][3]-a[5][2]*a[4][5]*a[3][3]*a[2][4]*a[0][1]-a[5][2]*a[0][5]*a[3][3]*a[2][1]*a[4][4]+a[5][2]*a[0][5]*a[3][3]*a[2][4]*a[4][1]+a[5][3]*a[2][5]*a[4][4]*a[0][2]*a[3][1]-a[5][4]*a[0][5]*a[2][2]*a[3][3]*a[4][1]+a[5][4]*a[0][5]*a[2][2]*a[4][3]*a[3][1]-a[5][1]*a[3][5]*a[2][2]*a[0][3]*a[4][4]+a[5][1]*a[3][5]*a[2][2]*a[0][4]*a[4][3]+a[5][1]*a[3][5]*a[0][2]*a[2][3]*a[4][4]+a[5][4]*a[3][5]*a[2][2]*a[0][3]*a[4][1]+a[5][3]*a[4][5]*a[2][2]*a[0][4]*a[3][1]-a[5][3]*a[4][5]*a[2][2]*a[3][4]*a[0][1]-a[5][5]*a[4][4]*a[0][3]*a[3][2]*a[2][1]+a[5][5]*a[0][4]*a[4][2]*a[2][3]*a[3][1]+a[5][5]*a[0][3]*a[3][4]*a[4][2]*a[2][1]+a[5][2]*a[2][5]*a[3][3]*a[0][1]*a[4][4]-a[5][2]*a[2][5]*a[3][3]*a[0][4]*a[4][1]-a[5][2]*a[2][5]*a[0][3]*a[3][1]*a[4][4]+a[5][2]*a[2][5]*a[0][3]*a[3][4]*a[4][1]-a[5][1]*a[2][5]*a[3][3]*a[4][4]*a[0][2]+a[5][1]*a[2][5]*a[3][3]*a[0][4]*a[4][2]+a[5][1]*a[2][5]*a[4][4]*a[0][3]*a[3][2]+a[5][1]*a[2][5]*a[4][3]*a[3][4]*a[0][2]+a[5][5]*a[2][2]*a[3][3]*a[0][4]*a[4][1]-a[5][5]*a[2][2]*a[3][3]*a[4][4]*a[0][1]+a[5][5]*a[2][2]*a[4][4]*a[0][3]*a[3][1]-a[5][5]*a[2][2]*a[0][4]*a[4][3]*a[3][1]-a[5][5]*a[2][2]*a[0][3]*a[3][4]*a[4][1]+a[5][5]*a[2][2]*a[4][3]*a[3][4]*a[0][1]-a[5][5]*a[3][3]*a[0][4]*a[4][2]*a[2][1]-a[5][5]*a[3][3]*a[0][2]*a[2][4]*a[4][1]+a[5][5]*a[3][3]*a[4][4]*a[0][2]*a[2][1]+a[5][5]*a[3][3]*a[4][2]*a[2][4]*a[0][1]-a[5][5]*a[4][3]*a[3][2]*a[2][4]*a[0][1]+a[5][5]*a[0][4]*a[4][3]*a[3][2]*a[2][1]-a[5][5]*a[0][4]*a[3][2]*a[2][3]*a[4][1]+a[5][5]*a[0][2]*a[2][4]*a[4][3]*a[3][1]+a[5][5]*a[0][2]*a[2][3]*a[3][4]*a[4][1]+a[5][5]*a[0][3]*a[3][2]*a[2][4]*a[4][1]-a[5][5]*a[4][4]*a[0][2]*a[2][3]*a[3][1]-a[5][5]*a[4][3]*a[3][4]*a[0][2]*a[2][1]+a[5][5]*a[3][2]*a[2][3]*a[4][4]*a[0][1]-a[5][5]*a[4][2]*a[2][3]*a[3][4]*a[0][1]-a[5][5]*a[4][2]*a[2][4]*a[0][3]*a[3][1]+a[5][2]*a[4][5]*a[3][3]*a[0][4]*a[2][1]+a[5][2]*a[4][5]*a[3][4]*a[2][3]*a[0][1]+a[5][2]*a[4][5]*a[2][4]*a[0][3]*a[3][1]-a[5][2]*a[4][5]*a[0][4]*a[2][3]*a[3][1]-a[5][2]*a[4][5]*a[3][4]*a[0][3]*a[2][1]+a[5][3]*a[4][5]*a[2][4]*a[3][2]*a[0][1]+a[5][3]*a[4][5]*a[3][4]*a[0][2]*a[2][1]-a[5][3]*a[4][5]*a[0][4]*a[3][2]*a[2][1]-a[5][3]*a[4][5]*a[2][4]*a[0][2]*a[3][1]+a[5][1]*a[0][5]*a[2][2]*a[4][4]*a[3][3]-a[5][1]*a[0][5]*a[2][2]*a[4][3]*a[3][4]+a[5][1]*a[0][5]*a[4][2]*a[2][3]*a[3][4]+a[5][1]*a[0][5]*a[4][3]*a[3][2]*a[2][4]-a[5][1]*a[0][5]*a[3][2]*a[2][3]*a[4][4]-a[5][1]*a[0][5]*a[4][2]*a[2][4]*a[3][3]+a[5][2]*a[2][5]*a[0][4]*a[4][3]*a[3][1]-a[5][2]*a[2][5]*a[4][3]*a[3][4]*a[0][1]+a[5][2]*a[0][5]*a[2][3]*a[3][1]*a[4][4]-a[5][2]*a[0][5]*a[4][3]*a[2][4]*a[3][1]-a[5][2]*a[0][5]*a[3][4]*a[4][1]*a[2][3]+a[5][2]*a[0][5]*a[3][4]*a[4][3]*a[2][1]+a[5][1]*a[4][5]*a[2][2]*a[3][4]*a[0][3]+a[5][1]*a[4][5]*a[2][4]*a[0][2]*a[3][3]+a[5][1]*a[4][5]*a[0][4]*a[3][2]*a[2][3]-a[5][1]*a[4][5]*a[3][4]*a[0][2]*a[2][3]-a[5][1]*a[4][5]*a[2][4]*a[0][3]*a[3][2]+a[5][2]*a[3][5]*a[4][4]*a[2][1]*a[0][3]-a[5][2]*a[3][5]*a[4][4]*a[2][3]*a[0][1]-a[5][2]*a[3][5]*a[0][3]*a[2][4]*a[4][1]-a[5][2]*a[3][5]*a[0][4]*a[4][3]*a[2][1]+a[5][2]*a[3][5]*a[2][4]*a[4][3]*a[0][1]+a[5][2]*a[3][5]*a[2][3]*a[0][4]*a[4][1]-a[5][4]*a[3][5]*a[2][2]*a[4][3]*a[0][1]-a[5][4]*a[3][5]*a[0][2]*a[2][3]*a[4][1]+a[5][4]*a[3][5]*a[4][3]*a[0][2]*a[2][1]-a[5][4]*a[3][5]*a[0][3]*a[4][2]*a[2][1]+a[5][4]*a[3][5]*a[4][2]*a[2][3]*a[0][1]+a[5][4]*a[4][5]*a[2][2]*a[3][3]*a[0][1]-a[5][4]*a[4][5]*a[2][2]*a[0][3]*a[3][1]-a[5][4]*a[4][5]*a[0][2]*a[2][1]*a[3][3]-a[5][4]*a[4][5]*a[3][2]*a[2][3]*a[0][1]+a[5][4]*a[4][5]*a[0][3]*a[3][2]*a[2][1]+a[5][4]*a[4][5]*a[0][2]*a[2][3]*a[3][1]-a[5][4]*a[2][5]*a[3][3]*a[4][2]*a[0][1]+a[5][4]*a[2][5]*a[3][3]*a[0][2]*a[4][1]+a[5][4]*a[2][5]*a[4][2]*a[0][3]*a[3][1]-a[5][4]*a[2][5]*a[0][3]*a[3][2]*a[4][1]-a[5][4]*a[2][5]*a[0][2]*a[4][3]*a[3][1]+a[5][4]*a[2][5]*a[4][3]*a[3][2]*a[0][1]-a[5][3]*a[0][5]*a[2][2]*a[3][1]*a[4][4]+a[5][3]*a[0][5]*a[2][2]*a[3][4]*a[4][1]+a[5][3]*a[0][5]*a[3][2]*a[2][1]*a[4][4]+a[5][3]*a[0][5]*a[4][2]*a[2][4]*a[3][1]-a[5][3]*a[0][5]*a[2][4]*a[4][1]*a[3][2]-a[5][3]*a[0][5]*a[4][2]*a[3][4]*a[2][1]-a[5][1]*a[2][5]*a[0][3]*a[3][4]*a[4][2]-a[5][1]*a[2][5]*a[0][4]*a[4][3]*a[3][2]-a[5][3]*a[2][5]*a[0][2]*a[4][1]*a[3][4]+a[5][3]*a[2][5]*a[3][4]*a[4][2]*a[0][1]+a[5][4]*a[0][5]*a[3][3]*a[4][2]*a[2][1]-a[5][4]*a[0][5]*a[4][3]*a[3][2]*a[2][1]-a[5][4]*a[0][5]*a[4][2]*a[2][3]*a[3][1]+a[5][4]*a[0][5]*a[3][2]*a[2][3]*a[4][1]+a[5][3]*a[3][5]*a[2][2]*a[0][1]*a[4][4]-a[5][3]*a[3][5]*a[2][2]*a[0][4]*a[4][1]-a[5][3]*a[3][5]*a[0][2]*a[2][1]*a[4][4]+a[5][3]*a[3][5]*a[0][4]*a[4][2]*a[2][1]+a[5][3]*a[3][5]*a[0][2]*a[2][4]*a[4][1]-a[5][3]*a[3][5]*a[4][2]*a[2][4]*a[0][1])/det;
    ainv[1][1] = (a[5][2]*a[4][5]*a[0][0]*a[2][4]*a[3][3]-a[5][2]*a[4][5]*a[0][0]*a[3][4]*a[2][3]+a[5][3]*a[2][5]*a[0][0]*a[3][2]*a[4][4]-a[5][3]*a[2][5]*a[0][0]*a[3][4]*a[4][2]-a[5][3]*a[2][5]*a[3][0]*a[0][2]*a[4][4]+a[5][3]*a[2][5]*a[3][4]*a[4][0]*a[0][2]-a[5][2]*a[3][5]*a[0][0]*a[2][4]*a[4][3]-a[5][2]*a[3][5]*a[2][0]*a[0][3]*a[4][4]+a[5][2]*a[3][5]*a[2][4]*a[4][0]*a[0][3]+a[5][2]*a[3][5]*a[4][3]*a[0][4]*a[2][0]-a[5][2]*a[3][5]*a[0][4]*a[4][0]*a[2][3]+a[5][5]*a[0][0]*a[2][2]*a[4][4]*a[3][3]-a[5][5]*a[0][0]*a[2][2]*a[4][3]*a[3][4]-a[5][5]*a[0][0]*a[4][2]*a[2][4]*a[3][3]+a[5][5]*a[0][0]*a[4][2]*a[2][3]*a[3][4]+a[5][5]*a[0][0]*a[4][3]*a[3][2]*a[2][4]-a[5][5]*a[0][0]*a[3][2]*a[2][3]*a[4][4]-a[5][5]*a[2][2]*a[3][3]*a[4][0]*a[0][4]-a[5][5]*a[2][2]*a[3][0]*a[0][3]*a[4][4]+a[5][5]*a[2][2]*a[4][3]*a[3][0]*a[0][4]+a[5][5]*a[2][2]*a[4][0]*a[0][3]*a[3][4]+a[5][5]*a[3][2]*a[2][0]*a[0][3]*a[4][4]-a[5][5]*a[3][3]*a[2][0]*a[0][2]*a[4][4]-a[5][5]*a[4][2]*a[2][0]*a[0][3]*a[3][4]+a[5][5]*a[3][3]*a[4][2]*a[2][0]*a[0][4]+a[5][5]*a[4][3]*a[2][0]*a[0][2]*a[3][4]-a[5][5]*a[4][2]*a[2][3]*a[3][0]*a[0][4]+a[5][5]*a[3][3]*a[4][0]*a[0][2]*a[2][4]-a[5][5]*a[4][3]*a[3][2]*a[2][0]*a[0][4]+a[5][5]*a[3][2]*a[2][3]*a[4][0]*a[0][4]+a[5][5]*a[3][0]*a[0][3]*a[4][2]*a[2][4]+a[5][5]*a[3][0]*a[0][2]*a[2][3]*a[4][4]-a[5][5]*a[4][3]*a[3][0]*a[0][2]*a[2][4]-a[5][5]*a[4][0]*a[0][2]*a[2][3]*a[3][4]-a[5][5]*a[4][0]*a[0][3]*a[3][2]*a[2][4]+a[5][4]*a[0][5]*a[2][2]*a[4][0]*a[3][3]-a[5][4]*a[0][5]*a[2][2]*a[4][3]*a[3][0]-a[5][4]*a[0][5]*a[4][2]*a[2][0]*a[3][3]+a[5][4]*a[0][5]*a[4][2]*a[2][3]*a[3][0]-a[5][4]*a[0][5]*a[4][0]*a[3][2]*a[2][3]+a[5][4]*a[0][5]*a[4][3]*a[3][2]*a[2][0]+a[5][4]*a[2][5]*a[0][0]*a[4][2]*a[3][3]-a[5][4]*a[2][5]*a[0][0]*a[4][3]*a[3][2]-a[5][4]*a[2][5]*a[4][0]*a[0][2]*a[3][3]+a[5][4]*a[2][5]*a[4][3]*a[3][0]*a[0][2]+a[5][4]*a[2][5]*a[4][0]*a[0][3]*a[3][2]-a[5][4]*a[2][5]*a[4][2]*a[3][0]*a[0][3]+a[5][4]*a[3][5]*a[0][0]*a[4][3]*a[2][2]-a[5][4]*a[3][5]*a[0][0]*a[4][2]*a[2][3]-a[5][4]*a[3][5]*a[4][0]*a[0][3]*a[2][2]-a[5][4]*a[3][5]*a[4][3]*a[2][0]*a[0][2]+a[5][4]*a[3][5]*a[4][2]*a[2][0]*a[0][3]+a[5][4]*a[3][5]*a[4][0]*a[0][2]*a[2][3]+a[5][0]*a[4][5]*a[2][2]*a[0][4]*a[3][3]-a[5][0]*a[4][5]*a[2][2]*a[3][4]*a[0][3]-a[5][0]*a[4][5]*a[2][4]*a[0][2]*a[3][3]-a[5][0]*a[4][5]*a[0][4]*a[3][2]*a[2][3]+a[5][0]*a[4][5]*a[3][4]*a[0][2]*a[2][3]+a[5][0]*a[4][5]*a[2][4]*a[0][3]*a[3][2]+a[5][0]*a[2][5]*a[3][3]*a[0][2]*a[4][4]-a[5][0]*a[2][5]*a[3][3]*a[0][4]*a[4][2]-a[5][0]*a[2][5]*a[0][3]*a[3][2]*a[4][4]+a[5][0]*a[2][5]*a[0][4]*a[4][3]*a[3][2]+a[5][0]*a[2][5]*a[3][4]*a[4][2]*a[0][3]-a[5][0]*a[2][5]*a[4][3]*a[3][4]*a[0][2]-a[5][3]*a[2][5]*a[0][4]*a[4][0]*a[3][2]+a[5][3]*a[2][5]*a[0][4]*a[4][2]*a[3][0]+a[5][3]*a[0][5]*a[2][2]*a[3][0]*a[4][4]-a[5][3]*a[0][5]*a[2][2]*a[3][4]*a[4][0]-a[5][3]*a[0][5]*a[3][2]*a[2][0]*a[4][4]+a[5][3]*a[0][5]*a[3][4]*a[4][2]*a[2][0]-a[5][3]*a[0][5]*a[2][4]*a[4][2]*a[3][0]+a[5][3]*a[0][5]*a[2][4]*a[4][0]*a[3][2]-a[5][2]*a[4][5]*a[0][4]*a[2][0]*a[3][3]+a[5][2]*a[4][5]*a[0][4]*a[2][3]*a[3][0]+a[5][2]*a[4][5]*a[3][4]*a[2][0]*a[0][3]-a[5][2]*a[4][5]*a[2][4]*a[3][0]*a[0][3]-a[5][0]*a[0][5]*a[2][2]*a[4][4]*a[3][3]+a[5][0]*a[0][5]*a[2][2]*a[4][3]*a[3][4]-a[5][0]*a[0][5]*a[4][2]*a[2][3]*a[3][4]-a[5][0]*a[0][5]*a[4][3]*a[3][2]*a[2][4]+a[5][0]*a[0][5]*a[3][2]*a[2][3]*a[4][4]+a[5][0]*a[0][5]*a[4][2]*a[2][4]*a[3][3]+a[5][3]*a[4][5]*a[0][0]*a[3][4]*a[2][2]-a[5][3]*a[4][5]*a[0][0]*a[2][4]*a[3][2]-a[5][3]*a[4][5]*a[0][4]*a[3][0]*a[2][2]+a[5][3]*a[4][5]*a[0][4]*a[3][2]*a[2][0]+a[5][3]*a[4][5]*a[2][4]*a[3][0]*a[0][2]-a[5][3]*a[4][5]*a[3][4]*a[2][0]*a[0][2]-a[5][4]*a[4][5]*a[0][0]*a[3][3]*a[2][2]+a[5][4]*a[4][5]*a[0][0]*a[3][2]*a[2][3]+a[5][4]*a[4][5]*a[3][0]*a[0][3]*a[2][2]+a[5][4]*a[4][5]*a[2][0]*a[0][2]*a[3][3]-a[5][4]*a[4][5]*a[3][2]*a[2][0]*a[0][3]-a[5][4]*a[4][5]*a[3][0]*a[0][2]*a[2][3]+a[5][2]*a[0][5]*a[3][3]*a[2][0]*a[4][4]-a[5][2]*a[0][5]*a[3][3]*a[2][4]*a[4][0]+a[5][0]*a[3][5]*a[2][2]*a[0][3]*a[4][4]-a[5][0]*a[3][5]*a[2][2]*a[4][3]*a[0][4]-a[5][0]*a[3][5]*a[0][2]*a[2][3]*a[4][4]-a[5][0]*a[3][5]*a[0][3]*a[4][2]*a[2][4]+a[5][0]*a[3][5]*a[0][4]*a[4][2]*a[2][3]+a[5][0]*a[3][5]*a[2][4]*a[4][3]*a[0][2]+a[5][2]*a[3][5]*a[0][0]*a[2][3]*a[4][4]-a[5][2]*a[0][5]*a[2][3]*a[3][0]*a[4][4]+a[5][2]*a[0][5]*a[4][0]*a[3][4]*a[2][3]-a[5][2]*a[0][5]*a[2][0]*a[4][3]*a[3][4]+a[5][2]*a[0][5]*a[2][4]*a[4][3]*a[3][0]-a[5][2]*a[2][5]*a[0][0]*a[4][4]*a[3][3]+a[5][2]*a[2][5]*a[0][0]*a[4][3]*a[3][4]+a[5][2]*a[2][5]*a[0][4]*a[4][0]*a[3][3]+a[5][2]*a[2][5]*a[3][0]*a[0][3]*a[4][4]-a[5][2]*a[2][5]*a[4][3]*a[3][0]*a[0][4]-a[5][2]*a[2][5]*a[4][0]*a[0][3]*a[3][4]-a[5][3]*a[3][5]*a[0][0]*a[4][4]*a[2][2]+a[5][3]*a[3][5]*a[0][0]*a[4][2]*a[2][4]+a[5][3]*a[3][5]*a[0][4]*a[4][0]*a[2][2]+a[5][3]*a[3][5]*a[2][0]*a[0][2]*a[4][4]-a[5][3]*a[3][5]*a[2][4]*a[4][0]*a[0][2]-a[5][3]*a[3][5]*a[0][4]*a[4][2]*a[2][0])/det;
    ainv[2][1] = (-a[5][0]*a[2][5]*a[3][3]*a[0][1]*a[4][4]+a[5][0]*a[2][5]*a[3][3]*a[0][4]*a[4][1]+a[5][0]*a[2][5]*a[0][3]*a[3][1]*a[4][4]-a[5][0]*a[2][5]*a[0][4]*a[4][3]*a[3][1]-a[5][0]*a[2][5]*a[4][1]*a[3][4]*a[0][3]+a[5][0]*a[2][5]*a[4][3]*a[3][4]*a[0][1]+a[5][1]*a[2][5]*a[0][0]*a[4][4]*a[3][3]-a[5][1]*a[2][5]*a[0][0]*a[4][3]*a[3][4]-a[5][1]*a[2][5]*a[0][4]*a[4][0]*a[3][3]-a[5][1]*a[2][5]*a[3][0]*a[0][3]*a[4][4]+a[5][1]*a[2][5]*a[4][0]*a[3][4]*a[0][3]+a[5][1]*a[2][5]*a[0][4]*a[4][3]*a[3][0]-a[5][1]*a[3][5]*a[0][0]*a[2][3]*a[4][4]+a[5][1]*a[3][5]*a[0][0]*a[2][4]*a[4][3]+a[5][1]*a[3][5]*a[2][0]*a[0][3]*a[4][4]-a[5][1]*a[3][5]*a[0][4]*a[4][3]*a[2][0]-a[5][1]*a[3][5]*a[2][4]*a[4][0]*a[0][3]+a[5][1]*a[3][5]*a[2][3]*a[0][4]*a[4][0]+a[5][5]*a[0][0]*a[3][3]*a[2][4]*a[4][1]-a[5][5]*a[0][0]*a[3][3]*a[4][4]*a[2][1]+a[5][5]*a[0][0]*a[4][3]*a[3][4]*a[2][1]-a[5][5]*a[0][0]*a[2][3]*a[3][4]*a[4][1]-a[5][5]*a[0][0]*a[2][4]*a[4][3]*a[3][1]+a[5][5]*a[0][0]*a[4][4]*a[2][3]*a[3][1]-a[5][5]*a[3][3]*a[2][0]*a[0][4]*a[4][1]+a[5][5]*a[3][3]*a[4][4]*a[2][0]*a[0][1]-a[5][5]*a[3][3]*a[2][4]*a[4][0]*a[0][1]+a[5][5]*a[3][3]*a[4][0]*a[0][4]*a[2][1]-a[5][5]*a[4][3]*a[3][0]*a[0][4]*a[2][1]-a[5][5]*a[2][4]*a[3][0]*a[0][3]*a[4][1]+a[5][5]*a[2][4]*a[4][0]*a[0][3]*a[3][1]-a[5][5]*a[4][3]*a[3][4]*a[2][0]*a[0][1]-a[5][5]*a[4][0]*a[0][4]*a[2][3]*a[3][1]+a[5][5]*a[2][0]*a[0][4]*a[4][3]*a[3][1]-a[5][5]*a[4][4]*a[2][0]*a[0][3]*a[3][1]+a[5][5]*a[2][0]*a[0][3]*a[3][4]*a[4][1]-a[5][5]*a[4][0]*a[0][3]*a[3][4]*a[2][1]+a[5][5]*a[2][3]*a[3][4]*a[4][0]*a[0][1]+a[5][5]*a[3][0]*a[0][3]*a[4][4]*a[2][1]+a[5][5]*a[2][4]*a[4][3]*a[3][0]*a[0][1]+a[5][5]*a[2][3]*a[3][0]*a[0][4]*a[4][1]-a[5][5]*a[4][4]*a[2][3]*a[3][0]*a[0][1]-a[5][4]*a[2][5]*a[0][0]*a[4][1]*a[3][3]+a[5][4]*a[2][5]*a[0][0]*a[4][3]*a[3][1]+a[5][4]*a[2][5]*a[4][0]*a[0][1]*a[3][3]-a[5][4]*a[2][5]*a[4][0]*a[0][3]*a[3][1]-a[5][4]*a[2][5]*a[4][3]*a[3][0]*a[0][1]+a[5][4]*a[2][5]*a[3][0]*a[0][3]*a[4][1]+a[5][0]*a[4][5]*a[3][3]*a[2][4]*a[0][1]-a[5][0]*a[4][5]*a[3][3]*a[0][4]*a[2][1]-a[5][0]*a[4][5]*a[3][4]*a[2][3]*a[0][1]+a[5][0]*a[4][5]*a[3][4]*a[0][3]*a[2][1]+a[5][0]*a[4][5]*a[0][4]*a[2][3]*a[3][1]-a[5][0]*a[4][5]*a[2][4]*a[0][3]*a[3][1]-a[5][1]*a[0][5]*a[3][3]*a[2][0]*a[4][4]+a[5][1]*a[0][5]*a[3][3]*a[2][4]*a[4][0]+a[5][1]*a[0][5]*a[2][3]*a[3][0]*a[4][4]-a[5][1]*a[0][5]*a[4][3]*a[2][4]*a[3][0]-a[5][1]*a[0][5]*a[3][4]*a[4][0]*a[2][3]+a[5][1]*a[0][5]*a[2][0]*a[3][4]*a[4][3]+a[5][4]*a[4][5]*a[0][0]*a[2][1]*a[3][3]-a[5][4]*a[4][5]*a[0][0]*a[2][3]*a[3][1]-a[5][4]*a[4][5]*a[2][0]*a[0][1]*a[3][3]-a[5][4]*a[4][5]*a[3][0]*a[0][3]*a[2][1]+a[5][4]*a[4][5]*a[2][0]*a[0][3]*a[3][1]+a[5][4]*a[4][5]*a[2][3]*a[3][0]*a[0][1]+a[5][4]*a[3][5]*a[0][0]*a[2][3]*a[4][1]-a[5][4]*a[3][5]*a[0][0]*a[4][3]*a[2][1]-a[5][4]*a[3][5]*a[2][0]*a[0][3]*a[4][1]+a[5][4]*a[3][5]*a[4][0]*a[0][3]*a[2][1]-a[5][4]*a[3][5]*a[2][3]*a[4][0]*a[0][1]+a[5][4]*a[3][5]*a[4][3]*a[2][0]*a[0][1]+a[5][0]*a[3][5]*a[4][4]*a[2][3]*a[0][1]-a[5][0]*a[3][5]*a[4][4]*a[0][3]*a[2][1]+a[5][0]*a[3][5]*a[4][3]*a[0][4]*a[2][1]+a[5][0]*a[3][5]*a[0][3]*a[2][4]*a[4][1]-a[5][0]*a[3][5]*a[2][4]*a[4][3]*a[0][1]-a[5][0]*a[3][5]*a[2][3]*a[0][4]*a[4][1]+a[5][3]*a[3][5]*a[0][0]*a[2][1]*a[4][4]-a[5][3]*a[3][5]*a[0][0]*a[2][4]*a[4][1]-a[5][3]*a[3][5]*a[2][0]*a[0][1]*a[4][4]-a[5][3]*a[3][5]*a[4][0]*a[0][4]*a[2][1]+a[5][3]*a[3][5]*a[2][0]*a[0][4]*a[4][1]+a[5][3]*a[3][5]*a[2][4]*a[4][0]*a[0][1]-a[5][3]*a[2][5]*a[0][0]*a[3][1]*a[4][4]+a[5][3]*a[2][5]*a[0][0]*a[4][1]*a[3][4]+a[5][3]*a[2][5]*a[3][0]*a[0][1]*a[4][4]+a[5][3]*a[2][5]*a[0][4]*a[4][0]*a[3][1]-a[5][3]*a[2][5]*a[0][4]*a[4][1]*a[3][0]-a[5][3]*a[2][5]*a[4][0]*a[3][4]*a[0][1]+a[5][3]*a[4][5]*a[3][4]*a[2][0]*a[0][1]-a[5][4]*a[0][5]*a[3][3]*a[4][0]*a[2][1]+a[5][4]*a[0][5]*a[3][3]*a[2][0]*a[4][1]-a[5][4]*a[0][5]*a[2][0]*a[4][3]*a[3][1]+a[5][4]*a[0][5]*a[4][3]*a[3][0]*a[2][1]-a[5][4]*a[0][5]*a[2][3]*a[3][0]*a[4][1]+a[5][4]*a[0][5]*a[4][0]*a[2][3]*a[3][1]-a[5][1]*a[4][5]*a[0][0]*a[2][4]*a[3][3]+a[5][1]*a[4][5]*a[0][0]*a[3][4]*a[2][3]+a[5][1]*a[4][5]*a[0][4]*a[2][0]*a[3][3]-a[5][1]*a[4][5]*a[0][4]*a[2][3]*a[3][0]-a[5][1]*a[4][5]*a[3][4]*a[2][0]*a[0][3]+a[5][1]*a[4][5]*a[2][4]*a[3][0]*a[0][3]+a[5][3]*a[4][5]*a[0][0]*a[2][4]*a[3][1]-a[5][3]*a[4][5]*a[0][0]*a[3][4]*a[2][1]-a[5][3]*a[4][5]*a[0][4]*a[2][0]*a[3][1]+a[5][3]*a[4][5]*a[0][4]*a[3][0]*a[2][1]-a[5][3]*a[4][5]*a[2][4]*a[3][0]*a[0][1]+a[5][0]*a[0][5]*a[3][3]*a[2][1]*a[4][4]-a[5][0]*a[0][5]*a[3][3]*a[2][4]*a[4][1]-a[5][0]*a[0][5]*a[2][3]*a[3][1]*a[4][4]+a[5][0]*a[0][5]*a[2][3]*a[3][4]*a[4][1]-a[5][0]*a[0][5]*a[4][3]*a[3][4]*a[2][1]+a[5][0]*a[0][5]*a[2][4]*a[4][3]*a[3][1]-a[5][3]*a[0][5]*a[4][4]*a[3][0]*a[2][1]+a[5][3]*a[0][5]*a[4][4]*a[2][0]*a[3][1]+a[5][3]*a[0][5]*a[3][0]*a[2][4]*a[4][1]-a[5][3]*a[0][5]*a[2][4]*a[4][0]*a[3][1]-a[5][3]*a[0][5]*a[2][0]*a[4][1]*a[3][4]+a[5][3]*a[0][5]*a[3][4]*a[4][0]*a[2][1])/det;
    ainv[3][1] = (a[5][5]*a[3][2]*a[2][4]*a[4][0]*a[0][1]-a[5][5]*a[3][4]*a[2][0]*a[0][2]*a[4][1]+a[5][5]*a[3][0]*a[0][2]*a[2][4]*a[4][1]-a[5][5]*a[4][4]*a[3][2]*a[2][0]*a[0][1]-a[5][5]*a[4][0]*a[0][2]*a[2][4]*a[3][1]+a[5][5]*a[2][0]*a[0][2]*a[4][4]*a[3][1]-a[5][5]*a[4][4]*a[3][0]*a[0][2]*a[2][1]-a[5][5]*a[4][2]*a[2][4]*a[3][0]*a[0][1]-a[5][5]*a[4][2]*a[2][0]*a[0][4]*a[3][1]+a[5][5]*a[3][0]*a[0][4]*a[4][2]*a[2][1]-a[5][0]*a[4][5]*a[2][2]*a[0][4]*a[3][1]+a[5][0]*a[4][5]*a[2][2]*a[3][4]*a[0][1]-a[5][0]*a[4][5]*a[3][4]*a[0][2]*a[2][1]-a[5][0]*a[4][5]*a[2][4]*a[3][2]*a[0][1]+a[5][0]*a[4][5]*a[2][4]*a[0][2]*a[3][1]+a[5][0]*a[4][5]*a[0][4]*a[3][2]*a[2][1]+a[5][2]*a[2][5]*a[0][0]*a[3][1]*a[4][4]-a[5][2]*a[2][5]*a[0][0]*a[3][4]*a[4][1]-a[5][2]*a[2][5]*a[3][0]*a[0][1]*a[4][4]+a[5][2]*a[2][5]*a[3][0]*a[0][4]*a[4][1]-a[5][2]*a[2][5]*a[0][4]*a[4][0]*a[3][1]+a[5][2]*a[2][5]*a[3][4]*a[4][0]*a[0][1]-a[5][4]*a[3][5]*a[0][0]*a[4][1]*a[2][2]+a[5][4]*a[3][5]*a[0][0]*a[4][2]*a[2][1]+a[5][4]*a[3][5]*a[4][0]*a[0][1]*a[2][2]-a[5][4]*a[3][5]*a[4][0]*a[0][2]*a[2][1]+a[5][4]*a[3][5]*a[2][0]*a[0][2]*a[4][1]-a[5][4]*a[3][5]*a[4][2]*a[2][0]*a[0][1]-a[5][0]*a[2][5]*a[4][4]*a[0][2]*a[3][1]+a[5][4]*a[2][5]*a[4][0]*a[0][2]*a[3][1]+a[5][4]*a[2][5]*a[4][2]*a[3][0]*a[0][1]-a[5][4]*a[2][5]*a[3][2]*a[4][0]*a[0][1]-a[5][4]*a[2][5]*a[3][0]*a[0][2]*a[4][1]-a[5][2]*a[4][5]*a[0][0]*a[2][4]*a[3][1]+a[5][2]*a[4][5]*a[0][0]*a[3][4]*a[2][1]-a[5][2]*a[4][5]*a[0][4]*a[3][0]*a[2][1]-a[5][2]*a[4][5]*a[3][4]*a[2][0]*a[0][1]+a[5][0]*a[2][5]*a[4][4]*a[3][2]*a[0][1]+a[5][0]*a[2][5]*a[0][4]*a[4][2]*a[3][1]-a[5][0]*a[2][5]*a[3][2]*a[0][4]*a[4][1]+a[5][0]*a[2][5]*a[0][2]*a[3][4]*a[4][1]-a[5][0]*a[2][5]*a[4][2]*a[3][4]*a[0][1]-a[5][4]*a[0][5]*a[2][2]*a[4][0]*a[3][1]+a[5][4]*a[0][5]*a[2][2]*a[3][0]*a[4][1]-a[5][4]*a[0][5]*a[3][0]*a[4][2]*a[2][1]+a[5][4]*a[0][5]*a[4][0]*a[3][2]*a[2][1]-a[5][4]*a[0][5]*a[3][2]*a[2][0]*a[4][1]+a[5][4]*a[0][5]*a[4][2]*a[2][0]*a[3][1]-a[5][1]*a[2][5]*a[0][0]*a[3][2]*a[4][4]+a[5][1]*a[2][5]*a[0][0]*a[4][2]*a[3][4]+a[5][1]*a[2][5]*a[3][0]*a[0][2]*a[4][4]-a[5][1]*a[2][5]*a[4][2]*a[0][4]*a[3][0]+a[5][1]*a[2][5]*a[4][0]*a[0][4]*a[3][2]-a[5][1]*a[2][5]*a[3][4]*a[4][0]*a[0][2]+a[5][1]*a[3][5]*a[0][0]*a[4][4]*a[2][2]-a[5][1]*a[3][5]*a[0][0]*a[4][2]*a[2][4]-a[5][1]*a[3][5]*a[0][4]*a[4][0]*a[2][2]-a[5][1]*a[3][5]*a[2][0]*a[0][2]*a[4][4]+a[5][1]*a[3][5]*a[0][4]*a[4][2]*a[2][0]+a[5][1]*a[3][5]*a[2][4]*a[4][0]*a[0][2]+a[5][2]*a[4][5]*a[0][4]*a[2][0]*a[3][1]+a[5][2]*a[4][5]*a[2][4]*a[3][0]*a[0][1]-a[5][0]*a[3][5]*a[2][2]*a[0][1]*a[4][4]+a[5][0]*a[3][5]*a[2][2]*a[0][4]*a[4][1]+a[5][0]*a[3][5]*a[0][2]*a[2][1]*a[4][4]-a[5][0]*a[3][5]*a[2][4]*a[4][1]*a[0][2]-a[5][0]*a[3][5]*a[0][4]*a[4][2]*a[2][1]+a[5][0]*a[3][5]*a[4][2]*a[2][4]*a[0][1]-a[5][2]*a[0][5]*a[4][4]*a[2][0]*a[3][1]+a[5][2]*a[0][5]*a[4][4]*a[3][0]*a[2][1]+a[5][2]*a[0][5]*a[2][0]*a[3][4]*a[4][1]+a[5][2]*a[0][5]*a[2][4]*a[4][0]*a[3][1]-a[5][2]*a[0][5]*a[3][0]*a[2][4]*a[4][1]-a[5][2]*a[0][5]*a[4][0]*a[3][4]*a[2][1]-a[5][2]*a[3][5]*a[0][0]*a[2][1]*a[4][4]+a[5][2]*a[3][5]*a[0][0]*a[2][4]*a[4][1]+a[5][2]*a[3][5]*a[2][0]*a[0][1]*a[4][4]-a[5][2]*a[3][5]*a[0][4]*a[4][1]*a[2][0]+a[5][2]*a[3][5]*a[0][4]*a[4][0]*a[2][1]-a[5][2]*a[3][5]*a[4][0]*a[2][4]*a[0][1]-a[5][1]*a[0][5]*a[2][2]*a[3][0]*a[4][4]+a[5][1]*a[0][5]*a[2][2]*a[4][0]*a[3][4]+a[5][1]*a[0][5]*a[3][2]*a[2][0]*a[4][4]+a[5][1]*a[0][5]*a[4][2]*a[2][4]*a[3][0]-a[5][1]*a[0][5]*a[2][4]*a[4][0]*a[3][2]-a[5][1]*a[0][5]*a[3][4]*a[4][2]*a[2][0]+a[5][4]*a[4][5]*a[0][0]*a[3][1]*a[2][2]-a[5][4]*a[4][5]*a[0][0]*a[3][2]*a[2][1]-a[5][4]*a[4][5]*a[3][0]*a[0][1]*a[2][2]+a[5][4]*a[4][5]*a[3][2]*a[2][0]*a[0][1]-a[5][4]*a[4][5]*a[2][0]*a[0][2]*a[3][1]+a[5][4]*a[4][5]*a[3][0]*a[0][2]*a[2][1]-a[5][1]*a[4][5]*a[0][0]*a[3][4]*a[2][2]+a[5][1]*a[4][5]*a[0][0]*a[2][4]*a[3][2]+a[5][1]*a[4][5]*a[0][4]*a[3][0]*a[2][2]+a[5][1]*a[4][5]*a[3][4]*a[2][0]*a[0][2]-a[5][1]*a[4][5]*a[0][4]*a[3][2]*a[2][0]-a[5][1]*a[4][5]*a[2][4]*a[3][0]*a[0][2]+a[5][0]*a[0][5]*a[2][2]*a[3][1]*a[4][4]-a[5][0]*a[0][5]*a[2][2]*a[3][4]*a[4][1]-a[5][0]*a[0][5]*a[3][2]*a[2][1]*a[4][4]+a[5][0]*a[0][5]*a[3][2]*a[2][4]*a[4][1]+a[5][0]*a[0][5]*a[3][4]*a[4][2]*a[2][1]-a[5][0]*a[0][5]*a[4][2]*a[2][4]*a[3][1]+a[5][4]*a[2][5]*a[0][0]*a[3][2]*a[4][1]-a[5][4]*a[2][5]*a[0][0]*a[4][2]*a[3][1]-a[5][5]*a[0][0]*a[2][2]*a[4][4]*a[3][1]+a[5][5]*a[0][0]*a[2][2]*a[3][4]*a[4][1]-a[5][5]*a[0][0]*a[3][4]*a[4][2]*a[2][1]-a[5][5]*a[0][0]*a[3][2]*a[2][4]*a[4][1]+a[5][5]*a[0][0]*a[4][4]*a[3][2]*a[2][1]+a[5][5]*a[0][0]*a[4][2]*a[2][4]*a[3][1]-a[5][5]*a[2][2]*a[3][4]*a[4][0]*a[0][1]+a[5][5]*a[2][2]*a[4][4]*a[3][0]*a[0][1]+a[5][5]*a[2][2]*a[4][0]*a[0][4]*a[3][1]-a[5][5]*a[2][2]*a[3][0]*a[0][4]*a[4][1]+a[5][5]*a[3][4]*a[4][0]*a[0][2]*a[2][1]-a[5][5]*a[4][0]*a[0][4]*a[3][2]*a[2][1]+a[5][5]*a[3][2]*a[2][0]*a[0][4]*a[4][1]+a[5][5]*a[3][4]*a[4][2]*a[2][0]*a[0][1])/det;
    ainv[4][1] = (-a[5][1]*a[3][5]*a[4][2]*a[2][0]*a[0][3]-a[5][1]*a[3][5]*a[4][0]*a[0][2]*a[2][3]+a[5][1]*a[3][5]*a[4][3]*a[2][0]*a[0][2]-a[5][5]*a[0][0]*a[2][2]*a[3][3]*a[4][1]+a[5][5]*a[0][0]*a[2][2]*a[4][3]*a[3][1]-a[5][5]*a[0][0]*a[4][2]*a[2][3]*a[3][1]+a[5][5]*a[0][0]*a[3][2]*a[2][3]*a[4][1]+a[5][5]*a[0][0]*a[3][3]*a[4][2]*a[2][1]-a[5][5]*a[0][0]*a[4][3]*a[3][2]*a[2][1]-a[5][5]*a[2][2]*a[4][0]*a[0][3]*a[3][1]+a[5][5]*a[2][2]*a[3][0]*a[0][3]*a[4][1]-a[5][5]*a[2][2]*a[4][3]*a[3][0]*a[0][1]+a[5][5]*a[2][2]*a[3][3]*a[4][0]*a[0][1]+a[5][5]*a[4][0]*a[0][3]*a[3][2]*a[2][1]-a[5][5]*a[3][2]*a[2][0]*a[0][3]*a[4][1]-a[5][5]*a[3][3]*a[4][2]*a[2][0]*a[0][1]+a[5][5]*a[3][3]*a[2][0]*a[0][2]*a[4][1]-a[5][5]*a[3][2]*a[2][3]*a[4][0]*a[0][1]+a[5][5]*a[4][3]*a[3][2]*a[2][0]*a[0][1]-a[5][5]*a[3][0]*a[0][2]*a[2][3]*a[4][1]+a[5][5]*a[4][2]*a[2][0]*a[0][3]*a[3][1]+a[5][5]*a[4][0]*a[0][2]*a[2][3]*a[3][1]-a[5][5]*a[3][0]*a[0][3]*a[4][2]*a[2][1]-a[5][5]*a[3][3]*a[4][0]*a[0][2]*a[2][1]+a[5][5]*a[4][2]*a[2][3]*a[3][0]*a[0][1]-a[5][5]*a[4][3]*a[2][0]*a[0][2]*a[3][1]+a[5][5]*a[4][3]*a[3][0]*a[0][2]*a[2][1]-a[5][0]*a[2][5]*a[3][3]*a[0][2]*a[4][1]+a[5][0]*a[2][5]*a[3][3]*a[4][2]*a[0][1]-a[5][0]*a[2][5]*a[4][3]*a[3][2]*a[0][1]-a[5][0]*a[2][5]*a[4][2]*a[0][3]*a[3][1]+a[5][0]*a[2][5]*a[0][2]*a[4][3]*a[3][1]+a[5][0]*a[2][5]*a[0][3]*a[3][2]*a[4][1]-a[5][3]*a[0][5]*a[2][2]*a[3][0]*a[4][1]+a[5][3]*a[0][5]*a[2][2]*a[4][0]*a[3][1]-a[5][3]*a[0][5]*a[4][2]*a[2][0]*a[3][1]-a[5][3]*a[0][5]*a[4][0]*a[3][2]*a[2][1]+a[5][3]*a[0][5]*a[3][0]*a[4][2]*a[2][1]+a[5][3]*a[0][5]*a[3][2]*a[2][0]*a[4][1]-a[5][2]*a[0][5]*a[3][3]*a[2][0]*a[4][1]+a[5][2]*a[0][5]*a[3][3]*a[4][0]*a[2][1]-a[5][2]*a[0][5]*a[4][3]*a[3][0]*a[2][1]-a[5][2]*a[0][5]*a[4][0]*a[2][3]*a[3][1]+a[5][2]*a[0][5]*a[2][0]*a[4][3]*a[3][1]+a[5][2]*a[0][5]*a[2][3]*a[3][0]*a[4][1]-a[5][1]*a[2][5]*a[0][0]*a[4][2]*a[3][3]+a[5][1]*a[2][5]*a[0][0]*a[4][3]*a[3][2]+a[5][1]*a[2][5]*a[4][0]*a[0][2]*a[3][3]+a[5][1]*a[2][5]*a[3][0]*a[0][3]*a[4][2]-a[5][1]*a[2][5]*a[4][3]*a[3][0]*a[0][2]-a[5][1]*a[2][5]*a[4][0]*a[0][3]*a[3][2]-a[5][2]*a[3][5]*a[0][0]*a[2][3]*a[4][1]+a[5][2]*a[3][5]*a[0][0]*a[4][3]*a[2][1]-a[5][2]*a[3][5]*a[4][0]*a[0][3]*a[2][1]+a[5][2]*a[3][5]*a[2][3]*a[4][0]*a[0][1]-a[5][2]*a[3][5]*a[4][3]*a[2][0]*a[0][1]+a[5][2]*a[3][5]*a[2][0]*a[0][3]*a[4][1]+a[5][3]*a[2][5]*a[0][0]*a[4][2]*a[3][1]-a[5][3]*a[2][5]*a[0][0]*a[3][2]*a[4][1]+a[5][3]*a[2][5]*a[3][2]*a[4][0]*a[0][1]+a[5][3]*a[2][5]*a[3][0]*a[0][2]*a[4][1]-a[5][3]*a[2][5]*a[4][0]*a[0][2]*a[3][1]-a[5][3]*a[2][5]*a[4][2]*a[3][0]*a[0][1]-a[5][1]*a[0][5]*a[2][2]*a[4][0]*a[3][3]+a[5][1]*a[0][5]*a[2][2]*a[4][3]*a[3][0]+a[5][1]*a[0][5]*a[4][2]*a[2][0]*a[3][3]+a[5][1]*a[0][5]*a[4][0]*a[3][2]*a[2][3]-a[5][1]*a[0][5]*a[4][2]*a[2][3]*a[3][0]-a[5][1]*a[0][5]*a[4][3]*a[3][2]*a[2][0]-a[5][3]*a[4][5]*a[0][0]*a[3][1]*a[2][2]+a[5][3]*a[4][5]*a[0][0]*a[3][2]*a[2][1]+a[5][3]*a[4][5]*a[3][0]*a[0][1]*a[2][2]-a[5][3]*a[4][5]*a[3][0]*a[0][2]*a[2][1]-a[5][3]*a[4][5]*a[3][2]*a[2][0]*a[0][1]+a[5][3]*a[4][5]*a[2][0]*a[0][2]*a[3][1]-a[5][2]*a[4][5]*a[0][0]*a[2][1]*a[3][3]+a[5][2]*a[4][5]*a[0][0]*a[2][3]*a[3][1]+a[5][2]*a[4][5]*a[2][0]*a[0][1]*a[3][3]+a[5][2]*a[4][5]*a[3][0]*a[0][3]*a[2][1]-a[5][2]*a[4][5]*a[2][0]*a[0][3]*a[3][1]-a[5][2]*a[4][5]*a[2][3]*a[3][0]*a[0][1]-a[5][0]*a[3][5]*a[2][2]*a[0][3]*a[4][1]+a[5][0]*a[3][5]*a[2][2]*a[4][3]*a[0][1]+a[5][0]*a[3][5]*a[0][3]*a[4][2]*a[2][1]-a[5][0]*a[3][5]*a[4][2]*a[2][3]*a[0][1]-a[5][0]*a[3][5]*a[4][3]*a[0][2]*a[2][1]+a[5][0]*a[3][5]*a[0][2]*a[2][3]*a[4][1]+a[5][0]*a[0][5]*a[2][2]*a[4][1]*a[3][3]-a[5][0]*a[0][5]*a[2][2]*a[4][3]*a[3][1]-a[5][0]*a[0][5]*a[4][2]*a[2][1]*a[3][3]+a[5][0]*a[0][5]*a[4][3]*a[3][2]*a[2][1]+a[5][0]*a[0][5]*a[4][2]*a[2][3]*a[3][1]-a[5][0]*a[0][5]*a[3][2]*a[2][3]*a[4][1]+a[5][2]*a[2][5]*a[0][0]*a[4][1]*a[3][3]-a[5][2]*a[2][5]*a[0][0]*a[4][3]*a[3][1]-a[5][2]*a[2][5]*a[4][0]*a[0][1]*a[3][3]+a[5][2]*a[2][5]*a[4][0]*a[0][3]*a[3][1]-a[5][2]*a[2][5]*a[3][0]*a[0][3]*a[4][1]+a[5][2]*a[2][5]*a[4][3]*a[3][0]*a[0][1]-a[5][0]*a[4][5]*a[2][2]*a[0][1]*a[3][3]+a[5][0]*a[4][5]*a[2][2]*a[0][3]*a[3][1]+a[5][0]*a[4][5]*a[0][2]*a[2][1]*a[3][3]+a[5][0]*a[4][5]*a[3][2]*a[2][3]*a[0][1]-a[5][0]*a[4][5]*a[0][2]*a[2][3]*a[3][1]-a[5][0]*a[4][5]*a[0][3]*a[3][2]*a[2][1]+a[5][3]*a[3][5]*a[0][0]*a[4][1]*a[2][2]-a[5][3]*a[3][5]*a[0][0]*a[4][2]*a[2][1]-a[5][3]*a[3][5]*a[4][0]*a[0][1]*a[2][2]+a[5][3]*a[3][5]*a[4][0]*a[0][2]*a[2][1]-a[5][3]*a[3][5]*a[2][0]*a[0][2]*a[4][1]+a[5][3]*a[3][5]*a[4][2]*a[2][0]*a[0][1]+a[5][1]*a[4][5]*a[0][0]*a[3][3]*a[2][2]-a[5][1]*a[4][5]*a[0][0]*a[3][2]*a[2][3]-a[5][1]*a[4][5]*a[3][0]*a[0][3]*a[2][2]-a[5][1]*a[4][5]*a[2][0]*a[0][2]*a[3][3]+a[5][1]*a[4][5]*a[3][2]*a[2][0]*a[0][3]+a[5][1]*a[4][5]*a[3][0]*a[0][2]*a[2][3]-a[5][1]*a[3][5]*a[0][0]*a[4][3]*a[2][2]+a[5][1]*a[3][5]*a[0][0]*a[4][2]*a[2][3]+a[5][1]*a[3][5]*a[4][0]*a[0][3]*a[2][2])/det;
    ainv[5][1] = (a[5][1]*a[4][4]*a[0][0]*a[3][2]*a[2][3]-a[5][1]*a[4][4]*a[0][0]*a[2][2]*a[3][3]+a[5][1]*a[4][4]*a[3][0]*a[0][3]*a[2][2]+a[5][1]*a[4][4]*a[2][0]*a[0][2]*a[3][3]-a[5][1]*a[4][4]*a[3][0]*a[0][2]*a[2][3]-a[5][1]*a[4][4]*a[3][2]*a[2][0]*a[0][3]-a[5][2]*a[4][4]*a[3][3]*a[2][0]*a[0][1]+a[5][2]*a[4][4]*a[2][0]*a[0][3]*a[3][1]-a[5][2]*a[4][4]*a[3][0]*a[0][3]*a[2][1]+a[5][2]*a[4][4]*a[2][3]*a[3][0]*a[0][1]+a[4][0]*a[5][4]*a[3][2]*a[2][3]*a[0][1]-a[4][0]*a[5][4]*a[0][3]*a[3][2]*a[2][1]-a[5][2]*a[4][4]*a[0][0]*a[2][3]*a[3][1]+a[5][2]*a[4][4]*a[0][0]*a[3][3]*a[2][1]+a[5][0]*a[4][4]*a[2][2]*a[3][3]*a[0][1]-a[5][0]*a[4][4]*a[2][2]*a[0][3]*a[3][1]-a[5][0]*a[4][4]*a[0][2]*a[2][1]*a[3][3]+a[5][0]*a[4][4]*a[0][2]*a[2][3]*a[3][1]-a[5][0]*a[4][4]*a[3][2]*a[2][3]*a[0][1]+a[5][0]*a[4][4]*a[0][3]*a[3][2]*a[2][1]-a[5][3]*a[4][4]*a[2][2]*a[3][0]*a[0][1]-a[5][3]*a[4][4]*a[2][0]*a[0][2]*a[3][1]+a[5][3]*a[4][4]*a[3][0]*a[0][2]*a[2][1]+a[5][3]*a[4][4]*a[3][2]*a[2][0]*a[0][1]+a[4][1]*a[5][4]*a[3][0]*a[0][2]*a[2][3]+a[4][1]*a[5][4]*a[3][2]*a[2][0]*a[0][3]+a[5][3]*a[4][4]*a[0][0]*a[2][2]*a[3][1]-a[5][3]*a[4][4]*a[0][0]*a[3][2]*a[2][1]-a[4][1]*a[5][4]*a[0][0]*a[3][2]*a[2][3]+a[4][1]*a[5][4]*a[0][0]*a[2][2]*a[3][3]-a[4][1]*a[5][4]*a[3][0]*a[0][3]*a[2][2]-a[4][1]*a[5][4]*a[2][0]*a[0][2]*a[3][3]-a[4][3]*a[5][4]*a[3][0]*a[0][2]*a[2][1]-a[4][3]*a[5][4]*a[3][2]*a[2][0]*a[0][1]+a[4][2]*a[5][4]*a[0][0]*a[2][3]*a[3][1]-a[4][2]*a[5][4]*a[0][0]*a[3][3]*a[2][1]-a[4][3]*a[5][4]*a[0][0]*a[2][2]*a[3][1]+a[4][3]*a[5][4]*a[0][0]*a[3][2]*a[2][1]+a[4][3]*a[5][4]*a[2][2]*a[3][0]*a[0][1]+a[4][3]*a[5][4]*a[2][0]*a[0][2]*a[3][1]-a[5][1]*a[2][4]*a[4][0]*a[0][2]*a[3][3]+a[5][1]*a[2][4]*a[4][0]*a[0][3]*a[3][2]-a[5][2]*a[3][4]*a[4][3]*a[0][0]*a[2][1]+a[5][2]*a[3][4]*a[4][3]*a[2][0]*a[0][1]-a[5][0]*a[2][4]*a[4][2]*a[3][3]*a[0][1]+a[5][0]*a[2][4]*a[4][2]*a[0][3]*a[3][1]+a[5][2]*a[0][4]*a[4][0]*a[2][3]*a[3][1]-a[5][2]*a[0][4]*a[4][0]*a[3][3]*a[2][1]+a[4][2]*a[5][4]*a[3][0]*a[0][3]*a[2][1]-a[4][2]*a[5][4]*a[2][3]*a[3][0]*a[0][1]+a[4][2]*a[5][4]*a[3][3]*a[2][0]*a[0][1]-a[4][2]*a[5][4]*a[2][0]*a[0][3]*a[3][1]+a[4][2]*a[3][4]*a[5][0]*a[2][3]*a[0][1]-a[4][2]*a[3][4]*a[5][0]*a[2][1]*a[0][3]-a[4][3]*a[3][4]*a[5][0]*a[0][1]*a[2][2]+a[4][3]*a[3][4]*a[5][0]*a[0][2]*a[2][1]+a[5][1]*a[3][4]*a[4][3]*a[0][0]*a[2][2]-a[5][1]*a[3][4]*a[4][3]*a[2][0]*a[0][2]+a[5][1]*a[2][4]*a[4][2]*a[0][0]*a[3][3]-a[5][1]*a[2][4]*a[4][2]*a[3][0]*a[0][3]-a[4][1]*a[3][4]*a[5][3]*a[0][0]*a[2][2]+a[4][1]*a[3][4]*a[5][3]*a[2][0]*a[0][2]+a[5][3]*a[2][4]*a[4][1]*a[3][2]*a[0][0]-a[5][3]*a[2][4]*a[4][1]*a[3][0]*a[0][2]-a[4][0]*a[5][4]*a[2][2]*a[3][3]*a[0][1]+a[4][0]*a[5][4]*a[2][2]*a[0][3]*a[3][1]+a[4][0]*a[5][4]*a[0][2]*a[2][1]*a[3][3]-a[4][0]*a[5][4]*a[0][2]*a[2][3]*a[3][1]-a[5][0]*a[0][4]*a[4][2]*a[2][3]*a[3][1]+a[5][0]*a[0][4]*a[4][2]*a[3][3]*a[2][1]-a[5][3]*a[2][4]*a[4][2]*a[0][0]*a[3][1]+a[5][3]*a[2][4]*a[4][2]*a[3][0]*a[0][1]+a[4][2]*a[3][4]*a[5][3]*a[0][0]*a[2][1]-a[4][2]*a[3][4]*a[5][3]*a[2][0]*a[0][1]+a[4][0]*a[2][4]*a[5][2]*a[3][3]*a[0][1]-a[4][0]*a[2][4]*a[5][2]*a[0][3]*a[3][1]-a[5][2]*a[0][4]*a[4][1]*a[2][3]*a[3][0]+a[5][2]*a[0][4]*a[4][1]*a[3][3]*a[2][0]+a[5][3]*a[0][4]*a[4][2]*a[2][0]*a[3][1]-a[5][3]*a[0][4]*a[4][2]*a[2][1]*a[3][0]-a[5][2]*a[2][4]*a[4][1]*a[0][0]*a[3][3]+a[5][2]*a[2][4]*a[4][1]*a[3][0]*a[0][3]+a[4][0]*a[3][4]*a[5][3]*a[0][1]*a[2][2]-a[4][0]*a[3][4]*a[5][3]*a[0][2]*a[2][1]-a[5][1]*a[0][4]*a[4][0]*a[3][2]*a[2][3]+a[5][1]*a[0][4]*a[4][0]*a[2][2]*a[3][3]+a[4][3]*a[2][4]*a[5][2]*a[0][0]*a[3][1]-a[4][3]*a[2][4]*a[5][2]*a[3][0]*a[0][1]-a[5][1]*a[0][4]*a[4][3]*a[3][0]*a[2][2]+a[5][1]*a[0][4]*a[4][3]*a[3][2]*a[2][0]-a[5][3]*a[0][4]*a[4][0]*a[3][1]*a[2][2]+a[5][3]*a[0][4]*a[4][0]*a[3][2]*a[2][1]-a[5][2]*a[0][4]*a[4][3]*a[2][0]*a[3][1]+a[5][2]*a[0][4]*a[4][3]*a[2][1]*a[3][0]+a[5][2]*a[3][4]*a[4][0]*a[2][1]*a[0][3]-a[5][2]*a[3][4]*a[4][0]*a[2][3]*a[0][1]-a[4][3]*a[2][4]*a[5][0]*a[0][2]*a[3][1]+a[4][3]*a[2][4]*a[5][0]*a[0][1]*a[3][2]+a[5][3]*a[0][4]*a[4][1]*a[3][0]*a[2][2]-a[5][3]*a[0][4]*a[4][1]*a[3][2]*a[2][0]+a[5][0]*a[0][4]*a[4][1]*a[3][2]*a[2][3]-a[5][0]*a[0][4]*a[4][1]*a[2][2]*a[3][3]-a[5][1]*a[2][4]*a[4][3]*a[3][2]*a[0][0]+a[5][1]*a[2][4]*a[4][3]*a[3][0]*a[0][2]+a[5][2]*a[3][4]*a[4][1]*a[2][3]*a[0][0]-a[5][2]*a[3][4]*a[4][1]*a[2][0]*a[0][3]-a[4][0]*a[3][4]*a[5][1]*a[2][2]*a[0][3]+a[4][0]*a[3][4]*a[5][1]*a[0][2]*a[2][3]+a[5][0]*a[2][4]*a[4][1]*a[0][2]*a[3][3]-a[5][0]*a[2][4]*a[4][1]*a[0][3]*a[3][2]-a[4][2]*a[3][4]*a[5][1]*a[2][3]*a[0][0]+a[4][2]*a[3][4]*a[5][1]*a[2][0]*a[0][3]+a[5][1]*a[0][4]*a[4][2]*a[2][3]*a[3][0]-a[5][1]*a[0][4]*a[4][2]*a[3][3]*a[2][0]+a[5][0]*a[0][4]*a[4][3]*a[3][1]*a[2][2]-a[5][0]*a[0][4]*a[4][3]*a[3][2]*a[2][1]+a[4][0]*a[2][4]*a[5][3]*a[0][2]*a[3][1]-a[4][0]*a[2][4]*a[5][3]*a[0][1]*a[3][2]+a[4][1]*a[3][4]*a[5][0]*a[2][2]*a[0][3]-a[4][1]*a[3][4]*a[5][0]*a[0][2]*a[2][3])/det;   
        
    ainv[0][2] = (a[5][4]*a[3][5]*a[1][1]*a[0][3]*a[4][2]-a[5][4]*a[3][5]*a[1][1]*a[4][3]*a[0][2]+a[5][4]*a[1][5]*a[3][3]*a[4][2]*a[0][1]-a[5][4]*a[1][5]*a[3][3]*a[0][2]*a[4][1]-a[5][2]*a[1][5]*a[0][4]*a[4][3]*a[3][1]+a[5][2]*a[1][5]*a[4][3]*a[3][4]*a[0][1]+a[5][4]*a[4][5]*a[1][1]*a[3][3]*a[0][2]-a[5][4]*a[4][5]*a[1][1]*a[0][3]*a[3][2]-a[5][4]*a[4][5]*a[3][3]*a[0][1]*a[1][2]+a[5][4]*a[4][5]*a[0][1]*a[1][3]*a[3][2]+a[5][4]*a[4][5]*a[0][3]*a[3][1]*a[1][2]-a[5][4]*a[4][5]*a[3][1]*a[1][3]*a[0][2]-a[5][3]*a[4][5]*a[1][1]*a[3][4]*a[0][2]+a[5][3]*a[4][5]*a[1][1]*a[0][4]*a[3][2]+a[5][3]*a[4][5]*a[1][4]*a[3][1]*a[0][2]-a[5][3]*a[4][5]*a[0][4]*a[3][1]*a[1][2]+a[5][3]*a[4][5]*a[3][4]*a[0][1]*a[1][2]-a[5][3]*a[4][5]*a[1][4]*a[0][1]*a[3][2]+a[5][5]*a[1][1]*a[3][3]*a[0][4]*a[4][2]-a[5][5]*a[1][1]*a[3][3]*a[4][4]*a[0][2]+a[5][5]*a[1][1]*a[4][3]*a[3][4]*a[0][2]-a[5][5]*a[1][1]*a[0][4]*a[4][3]*a[3][2]-a[5][5]*a[1][1]*a[0][3]*a[3][4]*a[4][2]+a[5][5]*a[1][1]*a[4][4]*a[0][3]*a[3][2]+a[5][5]*a[3][3]*a[4][4]*a[0][1]*a[1][2]-a[5][5]*a[3][3]*a[0][1]*a[1][4]*a[4][2]+a[5][5]*a[3][3]*a[4][1]*a[1][4]*a[0][2]-a[5][5]*a[3][3]*a[0][4]*a[4][1]*a[1][2]+a[5][5]*a[0][1]*a[1][3]*a[3][4]*a[4][2]+a[5][5]*a[0][3]*a[3][4]*a[4][1]*a[1][2]-a[5][5]*a[4][3]*a[3][4]*a[0][1]*a[1][2]-a[5][5]*a[4][4]*a[0][3]*a[3][1]*a[1][2]+a[5][5]*a[0][1]*a[1][4]*a[4][3]*a[3][2]+a[5][5]*a[0][3]*a[3][1]*a[1][4]*a[4][2]-a[5][5]*a[4][4]*a[0][1]*a[1][3]*a[3][2]+a[5][5]*a[0][4]*a[4][3]*a[3][1]*a[1][2]+a[5][5]*a[0][4]*a[4][1]*a[1][3]*a[3][2]-a[5][5]*a[4][3]*a[3][1]*a[1][4]*a[0][2]-a[5][5]*a[0][4]*a[3][1]*a[1][3]*a[4][2]-a[5][5]*a[4][1]*a[1][4]*a[0][3]*a[3][2]+a[5][5]*a[3][1]*a[1][3]*a[4][4]*a[0][2]-a[5][5]*a[4][1]*a[1][3]*a[3][4]*a[0][2]-a[5][3]*a[1][5]*a[4][4]*a[0][2]*a[3][1]+a[5][3]*a[1][5]*a[4][4]*a[3][2]*a[0][1]+a[5][3]*a[1][5]*a[0][4]*a[4][2]*a[3][1]-a[5][3]*a[1][5]*a[3][2]*a[0][4]*a[4][1]+a[5][3]*a[1][5]*a[0][2]*a[4][1]*a[3][4]-a[5][3]*a[1][5]*a[3][4]*a[4][2]*a[0][1]-a[5][1]*a[1][5]*a[3][3]*a[0][4]*a[4][2]+a[5][1]*a[1][5]*a[3][3]*a[4][4]*a[0][2]-a[5][1]*a[1][5]*a[4][3]*a[3][4]*a[0][2]+a[5][1]*a[1][5]*a[0][4]*a[4][3]*a[3][2]+a[5][1]*a[1][5]*a[0][3]*a[3][4]*a[4][2]-a[5][1]*a[1][5]*a[4][4]*a[0][3]*a[3][2]-a[5][1]*a[0][5]*a[3][3]*a[1][2]*a[4][4]+a[5][1]*a[0][5]*a[3][3]*a[1][4]*a[4][2]+a[5][1]*a[0][5]*a[1][3]*a[3][2]*a[4][4]+a[5][1]*a[0][5]*a[1][2]*a[4][3]*a[3][4]-a[5][1]*a[0][5]*a[1][4]*a[4][3]*a[3][2]-a[5][1]*a[0][5]*a[4][2]*a[3][4]*a[1][3]-a[5][4]*a[1][5]*a[4][2]*a[0][3]*a[3][1]+a[5][4]*a[1][5]*a[0][3]*a[3][2]*a[4][1]+a[5][4]*a[1][5]*a[0][2]*a[4][3]*a[3][1]-a[5][4]*a[1][5]*a[4][3]*a[3][2]*a[0][1]-a[5][2]*a[3][5]*a[1][1]*a[0][3]*a[4][4]+a[5][2]*a[3][5]*a[1][1]*a[0][4]*a[4][3]+a[5][2]*a[3][5]*a[0][1]*a[1][3]*a[4][4]-a[5][2]*a[3][5]*a[0][4]*a[4][1]*a[1][3]-a[5][2]*a[3][5]*a[1][4]*a[4][3]*a[0][1]+a[5][2]*a[3][5]*a[1][4]*a[4][1]*a[0][3]-a[5][2]*a[4][5]*a[1][1]*a[0][4]*a[3][3]+a[5][2]*a[4][5]*a[1][1]*a[3][4]*a[0][3]+a[5][2]*a[4][5]*a[1][4]*a[0][1]*a[3][3]+a[5][2]*a[4][5]*a[0][4]*a[3][1]*a[1][3]-a[5][2]*a[4][5]*a[3][4]*a[0][1]*a[1][3]-a[5][2]*a[4][5]*a[1][4]*a[0][3]*a[3][1]-a[5][4]*a[3][5]*a[0][3]*a[4][1]*a[1][2]+a[5][4]*a[3][5]*a[4][3]*a[0][1]*a[1][2]+a[5][4]*a[3][5]*a[4][1]*a[1][3]*a[0][2]-a[5][4]*a[3][5]*a[0][1]*a[1][3]*a[4][2]+a[5][3]*a[3][5]*a[1][1]*a[0][2]*a[4][4]-a[5][3]*a[3][5]*a[1][1]*a[0][4]*a[4][2]-a[5][3]*a[3][5]*a[0][1]*a[1][2]*a[4][4]+a[5][3]*a[3][5]*a[0][1]*a[1][4]*a[4][2]+a[5][3]*a[3][5]*a[0][4]*a[4][1]*a[1][2]-a[5][3]*a[3][5]*a[4][1]*a[1][4]*a[0][2]-a[5][4]*a[0][5]*a[1][1]*a[4][2]*a[3][3]+a[5][4]*a[0][5]*a[1][1]*a[4][3]*a[3][2]+a[5][4]*a[0][5]*a[4][1]*a[1][2]*a[3][3]-a[5][4]*a[0][5]*a[4][1]*a[1][3]*a[3][2]+a[5][4]*a[0][5]*a[4][2]*a[3][1]*a[1][3]-a[5][4]*a[0][5]*a[4][3]*a[3][1]*a[1][2]+a[5][2]*a[0][5]*a[1][1]*a[4][4]*a[3][3]-a[5][2]*a[0][5]*a[1][1]*a[4][3]*a[3][4]-a[5][2]*a[0][5]*a[4][1]*a[1][4]*a[3][3]-a[5][2]*a[0][5]*a[4][4]*a[3][1]*a[1][3]+a[5][2]*a[0][5]*a[4][1]*a[1][3]*a[3][4]+a[5][2]*a[0][5]*a[4][3]*a[3][1]*a[1][4]+a[5][1]*a[4][5]*a[3][3]*a[0][4]*a[1][2]-a[5][1]*a[4][5]*a[3][3]*a[1][4]*a[0][2]-a[5][1]*a[4][5]*a[0][4]*a[1][3]*a[3][2]+a[5][1]*a[4][5]*a[3][4]*a[1][3]*a[0][2]+a[5][1]*a[4][5]*a[1][4]*a[0][3]*a[3][2]-a[5][1]*a[4][5]*a[3][4]*a[0][3]*a[1][2]-a[5][3]*a[0][5]*a[1][1]*a[4][4]*a[3][2]+a[5][3]*a[0][5]*a[1][1]*a[3][4]*a[4][2]+a[5][3]*a[0][5]*a[3][1]*a[1][2]*a[4][4]+a[5][3]*a[0][5]*a[1][4]*a[4][1]*a[3][2]-a[5][3]*a[0][5]*a[3][4]*a[4][1]*a[1][2]-a[5][3]*a[0][5]*a[1][4]*a[4][2]*a[3][1]+a[5][1]*a[3][5]*a[4][4]*a[0][3]*a[1][2]-a[5][1]*a[3][5]*a[4][4]*a[1][3]*a[0][2]+a[5][1]*a[3][5]*a[4][3]*a[1][4]*a[0][2]-a[5][1]*a[3][5]*a[0][3]*a[4][2]*a[1][4]+a[5][1]*a[3][5]*a[1][3]*a[0][4]*a[4][2]-a[5][1]*a[3][5]*a[0][4]*a[4][3]*a[1][2]-a[5][2]*a[1][5]*a[3][3]*a[0][1]*a[4][4]+a[5][2]*a[1][5]*a[3][3]*a[0][4]*a[4][1]+a[5][2]*a[1][5]*a[0][3]*a[3][1]*a[4][4]-a[5][2]*a[1][5]*a[0][3]*a[3][4]*a[4][1])/det;
    ainv[1][2] = (-a[5][2]*a[4][5]*a[0][0]*a[1][4]*a[3][3]+a[5][2]*a[4][5]*a[0][0]*a[3][4]*a[1][3]-a[5][5]*a[4][0]*a[0][3]*a[3][4]*a[1][2]+a[5][5]*a[1][4]*a[4][0]*a[0][3]*a[3][2]+a[5][5]*a[1][4]*a[4][3]*a[3][0]*a[0][2]-a[5][5]*a[4][3]*a[3][4]*a[1][0]*a[0][2]-a[5][5]*a[4][3]*a[3][0]*a[0][4]*a[1][2]-a[5][5]*a[1][4]*a[3][0]*a[0][3]*a[4][2]-a[5][5]*a[4][4]*a[1][3]*a[3][0]*a[0][2]+a[5][5]*a[1][0]*a[0][3]*a[3][4]*a[4][2]+a[5][5]*a[1][3]*a[3][4]*a[4][0]*a[0][2]+a[5][5]*a[1][0]*a[0][4]*a[4][3]*a[3][2]+a[5][5]*a[1][3]*a[3][0]*a[0][4]*a[4][2]-a[5][5]*a[4][0]*a[0][4]*a[1][3]*a[3][2]+a[5][5]*a[3][0]*a[0][3]*a[4][4]*a[1][2]-a[5][5]*a[4][4]*a[1][0]*a[0][3]*a[3][2]+a[5][0]*a[0][5]*a[3][3]*a[1][2]*a[4][4]-a[5][0]*a[0][5]*a[3][3]*a[1][4]*a[4][2]-a[5][0]*a[0][5]*a[1][3]*a[3][2]*a[4][4]-a[5][0]*a[0][5]*a[4][3]*a[3][4]*a[1][2]+a[5][0]*a[0][5]*a[1][3]*a[3][4]*a[4][2]+a[5][0]*a[0][5]*a[1][4]*a[4][3]*a[3][2]-a[5][2]*a[3][5]*a[0][0]*a[1][3]*a[4][4]+a[5][2]*a[3][5]*a[0][0]*a[1][4]*a[4][3]+a[5][2]*a[3][5]*a[1][0]*a[0][3]*a[4][4]+a[5][2]*a[3][5]*a[0][4]*a[4][0]*a[1][3]-a[5][2]*a[3][5]*a[1][4]*a[4][0]*a[0][3]-a[5][2]*a[3][5]*a[0][4]*a[4][3]*a[1][0]-a[5][3]*a[4][5]*a[0][0]*a[3][4]*a[1][2]+a[5][3]*a[4][5]*a[0][0]*a[1][4]*a[3][2]-a[5][3]*a[4][5]*a[1][4]*a[3][0]*a[0][2]-a[5][3]*a[4][5]*a[0][4]*a[1][0]*a[3][2]+a[5][3]*a[4][5]*a[3][4]*a[1][0]*a[0][2]+a[5][3]*a[4][5]*a[0][4]*a[3][0]*a[1][2]+a[5][3]*a[3][5]*a[0][0]*a[1][2]*a[4][4]-a[5][3]*a[3][5]*a[0][0]*a[1][4]*a[4][2]-a[5][3]*a[3][5]*a[1][0]*a[0][2]*a[4][4]+a[5][3]*a[3][5]*a[1][4]*a[4][0]*a[0][2]+a[5][3]*a[3][5]*a[1][0]*a[0][4]*a[4][2]-a[5][3]*a[3][5]*a[4][0]*a[0][4]*a[1][2]-a[5][0]*a[3][5]*a[4][4]*a[0][3]*a[1][2]+a[5][0]*a[3][5]*a[4][4]*a[1][3]*a[0][2]-a[5][0]*a[3][5]*a[1][3]*a[0][4]*a[4][2]+a[5][0]*a[3][5]*a[4][3]*a[0][4]*a[1][2]+a[5][0]*a[3][5]*a[0][3]*a[1][4]*a[4][2]-a[5][0]*a[3][5]*a[1][4]*a[4][3]*a[0][2]+a[5][4]*a[3][5]*a[0][0]*a[1][3]*a[4][2]-a[5][4]*a[3][5]*a[0][0]*a[4][3]*a[1][2]-a[5][4]*a[3][5]*a[1][0]*a[0][3]*a[4][2]-a[5][4]*a[3][5]*a[1][3]*a[4][0]*a[0][2]+a[5][4]*a[3][5]*a[4][0]*a[0][3]*a[1][2]+a[5][4]*a[3][5]*a[4][3]*a[1][0]*a[0][2]+a[5][2]*a[4][5]*a[1][0]*a[0][4]*a[3][3]+a[5][2]*a[4][5]*a[1][4]*a[3][0]*a[0][3]-a[5][2]*a[4][5]*a[0][4]*a[1][3]*a[3][0]-a[5][2]*a[4][5]*a[3][4]*a[1][0]*a[0][3]-a[5][3]*a[0][5]*a[4][4]*a[3][0]*a[1][2]+a[5][3]*a[0][5]*a[4][4]*a[1][0]*a[3][2]-a[5][3]*a[0][5]*a[1][4]*a[4][0]*a[3][2]+a[5][3]*a[0][5]*a[3][4]*a[4][0]*a[1][2]-a[5][3]*a[0][5]*a[1][0]*a[4][2]*a[3][4]+a[5][3]*a[0][5]*a[3][0]*a[1][4]*a[4][2]-a[5][0]*a[1][5]*a[3][3]*a[0][2]*a[4][4]+a[5][0]*a[1][5]*a[3][3]*a[0][4]*a[4][2]+a[5][0]*a[1][5]*a[0][3]*a[3][2]*a[4][4]+a[5][0]*a[1][5]*a[3][4]*a[4][3]*a[0][2]-a[5][0]*a[1][5]*a[0][4]*a[4][3]*a[3][2]-a[5][0]*a[1][5]*a[4][2]*a[3][4]*a[0][3]+a[5][4]*a[4][5]*a[0][0]*a[1][2]*a[3][3]-a[5][4]*a[4][5]*a[0][0]*a[1][3]*a[3][2]-a[5][4]*a[4][5]*a[1][0]*a[0][2]*a[3][3]+a[5][4]*a[4][5]*a[1][0]*a[0][3]*a[3][2]+a[5][4]*a[4][5]*a[1][3]*a[3][0]*a[0][2]-a[5][4]*a[4][5]*a[3][0]*a[0][3]*a[1][2]-a[5][2]*a[0][5]*a[3][3]*a[1][0]*a[4][4]+a[5][2]*a[0][5]*a[3][3]*a[1][4]*a[4][0]+a[5][2]*a[0][5]*a[1][3]*a[3][0]*a[4][4]+a[5][2]*a[0][5]*a[3][4]*a[4][3]*a[1][0]-a[5][2]*a[0][5]*a[1][4]*a[4][3]*a[3][0]-a[5][2]*a[0][5]*a[3][4]*a[4][0]*a[1][3]-a[5][0]*a[4][5]*a[3][3]*a[0][4]*a[1][2]+a[5][0]*a[4][5]*a[3][3]*a[1][4]*a[0][2]-a[5][0]*a[4][5]*a[3][4]*a[1][3]*a[0][2]+a[5][0]*a[4][5]*a[0][4]*a[1][3]*a[3][2]-a[5][0]*a[4][5]*a[1][4]*a[0][3]*a[3][2]+a[5][0]*a[4][5]*a[3][4]*a[0][3]*a[1][2]-a[5][4]*a[1][5]*a[0][0]*a[4][2]*a[3][3]+a[5][4]*a[1][5]*a[0][0]*a[4][3]*a[3][2]+a[5][4]*a[1][5]*a[4][0]*a[0][2]*a[3][3]-a[5][4]*a[1][5]*a[4][3]*a[3][0]*a[0][2]-a[5][4]*a[1][5]*a[4][0]*a[0][3]*a[3][2]+a[5][4]*a[1][5]*a[4][2]*a[3][0]*a[0][3]+a[5][4]*a[0][5]*a[3][3]*a[1][0]*a[4][2]-a[5][4]*a[0][5]*a[3][3]*a[4][0]*a[1][2]-a[5][4]*a[0][5]*a[1][3]*a[3][0]*a[4][2]-a[5][4]*a[0][5]*a[1][0]*a[4][3]*a[3][2]+a[5][4]*a[0][5]*a[4][3]*a[3][0]*a[1][2]+a[5][4]*a[0][5]*a[4][0]*a[1][3]*a[3][2]-a[5][3]*a[1][5]*a[0][0]*a[3][2]*a[4][4]+a[5][3]*a[1][5]*a[0][0]*a[4][2]*a[3][4]+a[5][3]*a[1][5]*a[3][0]*a[0][2]*a[4][4]-a[5][3]*a[1][5]*a[4][0]*a[3][4]*a[0][2]-a[5][3]*a[1][5]*a[0][4]*a[4][2]*a[3][0]+a[5][3]*a[1][5]*a[4][0]*a[0][4]*a[3][2]+a[5][2]*a[1][5]*a[0][0]*a[4][4]*a[3][3]-a[5][2]*a[1][5]*a[0][0]*a[4][3]*a[3][4]-a[5][2]*a[1][5]*a[4][0]*a[0][4]*a[3][3]-a[5][2]*a[1][5]*a[3][0]*a[0][3]*a[4][4]+a[5][2]*a[1][5]*a[0][4]*a[4][3]*a[3][0]+a[5][2]*a[1][5]*a[3][4]*a[4][0]*a[0][3]+a[5][5]*a[0][0]*a[3][3]*a[1][4]*a[4][2]-a[5][5]*a[0][0]*a[3][3]*a[4][4]*a[1][2]-a[5][5]*a[0][0]*a[1][4]*a[4][3]*a[3][2]-a[5][5]*a[0][0]*a[1][3]*a[3][4]*a[4][2]+a[5][5]*a[0][0]*a[4][4]*a[1][3]*a[3][2]+a[5][5]*a[0][0]*a[4][3]*a[3][4]*a[1][2]-a[5][5]*a[3][3]*a[1][0]*a[0][4]*a[4][2]+a[5][5]*a[3][3]*a[4][0]*a[0][4]*a[1][2]-a[5][5]*a[3][3]*a[1][4]*a[4][0]*a[0][2]+a[5][5]*a[3][3]*a[4][4]*a[1][0]*a[0][2])/det;
    ainv[2][2] = (-a[5][4]*a[1][5]*a[4][1]*a[3][0]*a[0][3]+a[5][4]*a[1][5]*a[4][3]*a[3][0]*a[0][1]+a[5][4]*a[1][5]*a[4][0]*a[0][3]*a[3][1]+a[5][4]*a[0][5]*a[1][1]*a[4][0]*a[3][3]-a[5][4]*a[0][5]*a[1][1]*a[4][3]*a[3][0]-a[5][4]*a[0][5]*a[4][1]*a[1][0]*a[3][3]+a[5][4]*a[0][5]*a[4][3]*a[1][0]*a[3][1]-a[5][4]*a[0][5]*a[4][0]*a[3][1]*a[1][3]+a[5][4]*a[0][5]*a[4][1]*a[1][3]*a[3][0]+a[5][1]*a[0][5]*a[3][3]*a[1][0]*a[4][4]-a[5][1]*a[0][5]*a[3][3]*a[1][4]*a[4][0]-a[5][1]*a[0][5]*a[1][3]*a[3][0]*a[4][4]+a[5][1]*a[0][5]*a[4][3]*a[1][4]*a[3][0]+a[5][1]*a[0][5]*a[3][4]*a[4][0]*a[1][3]-a[5][1]*a[0][5]*a[1][0]*a[4][3]*a[3][4]+a[5][0]*a[4][5]*a[1][1]*a[0][4]*a[3][3]-a[5][0]*a[4][5]*a[1][1]*a[3][4]*a[0][3]-a[5][0]*a[4][5]*a[1][4]*a[0][1]*a[3][3]+a[5][0]*a[4][5]*a[1][4]*a[0][3]*a[3][1]-a[5][0]*a[4][5]*a[0][4]*a[3][1]*a[1][3]+a[5][0]*a[4][5]*a[3][4]*a[0][1]*a[1][3]+a[5][3]*a[4][5]*a[0][0]*a[3][4]*a[1][1]-a[5][3]*a[4][5]*a[0][0]*a[1][4]*a[3][1]-a[5][3]*a[4][5]*a[0][4]*a[3][0]*a[1][1]+a[5][3]*a[4][5]*a[1][4]*a[3][0]*a[0][1]+a[5][3]*a[4][5]*a[0][4]*a[1][0]*a[3][1]-a[5][3]*a[4][5]*a[3][4]*a[1][0]*a[0][1]+a[5][0]*a[1][5]*a[3][3]*a[0][1]*a[4][4]-a[5][0]*a[1][5]*a[3][3]*a[0][4]*a[4][1]-a[5][0]*a[1][5]*a[0][3]*a[3][1]*a[4][4]+a[5][0]*a[1][5]*a[0][4]*a[4][3]*a[3][1]+a[5][0]*a[1][5]*a[4][1]*a[3][4]*a[0][3]-a[5][0]*a[1][5]*a[4][3]*a[3][4]*a[0][1]+a[5][1]*a[4][5]*a[0][0]*a[1][4]*a[3][3]-a[5][1]*a[4][5]*a[0][0]*a[3][4]*a[1][3]-a[5][1]*a[4][5]*a[1][0]*a[0][4]*a[3][3]+a[5][1]*a[4][5]*a[0][4]*a[1][3]*a[3][0]-a[5][1]*a[4][5]*a[1][4]*a[3][0]*a[0][3]+a[5][1]*a[4][5]*a[3][4]*a[1][0]*a[0][3]+a[5][3]*a[1][5]*a[0][0]*a[3][1]*a[4][4]-a[5][3]*a[1][5]*a[0][0]*a[3][4]*a[4][1]-a[5][3]*a[1][5]*a[3][0]*a[0][1]*a[4][4]+a[5][3]*a[1][5]*a[3][4]*a[4][0]*a[0][1]-a[5][3]*a[1][5]*a[0][4]*a[4][0]*a[3][1]+a[5][3]*a[1][5]*a[0][4]*a[4][1]*a[3][0]+a[5][3]*a[0][5]*a[1][1]*a[3][0]*a[4][4]-a[5][3]*a[0][5]*a[1][1]*a[3][4]*a[4][0]-a[5][3]*a[0][5]*a[1][0]*a[3][1]*a[4][4]+a[5][5]*a[0][0]*a[1][1]*a[4][4]*a[3][3]-a[5][5]*a[0][0]*a[1][1]*a[4][3]*a[3][4]-a[5][5]*a[0][0]*a[4][1]*a[1][4]*a[3][3]+a[5][5]*a[0][0]*a[4][1]*a[1][3]*a[3][4]+a[5][5]*a[0][0]*a[4][3]*a[3][1]*a[1][4]-a[5][5]*a[0][0]*a[4][4]*a[3][1]*a[1][3]-a[5][5]*a[1][1]*a[4][0]*a[0][4]*a[3][3]+a[5][5]*a[1][1]*a[4][0]*a[0][3]*a[3][4]-a[5][5]*a[1][1]*a[3][0]*a[0][3]*a[4][4]+a[5][5]*a[1][1]*a[4][3]*a[3][0]*a[0][4]+a[5][5]*a[4][3]*a[1][0]*a[0][1]*a[3][4]-a[5][5]*a[3][3]*a[1][0]*a[0][1]*a[4][4]-a[5][5]*a[4][3]*a[3][1]*a[1][0]*a[0][4]-a[5][5]*a[4][1]*a[1][3]*a[3][0]*a[0][4]+a[5][5]*a[3][0]*a[0][1]*a[1][3]*a[4][4]-a[5][5]*a[4][3]*a[3][0]*a[0][1]*a[1][4]+a[5][5]*a[3][3]*a[4][0]*a[0][1]*a[1][4]+a[5][5]*a[3][3]*a[4][1]*a[1][0]*a[0][4]-a[5][5]*a[4][0]*a[0][3]*a[3][1]*a[1][4]+a[5][5]*a[3][0]*a[0][3]*a[4][1]*a[1][4]+a[5][5]*a[3][1]*a[1][3]*a[4][0]*a[0][4]-a[5][5]*a[4][1]*a[1][0]*a[0][3]*a[3][4]+a[5][5]*a[3][1]*a[1][0]*a[0][3]*a[4][4]-a[5][5]*a[4][0]*a[0][1]*a[1][3]*a[3][4]+a[5][1]*a[3][5]*a[0][0]*a[1][3]*a[4][4]-a[5][1]*a[3][5]*a[0][0]*a[4][3]*a[1][4]-a[5][1]*a[3][5]*a[1][0]*a[0][3]*a[4][4]+a[5][1]*a[3][5]*a[1][4]*a[4][0]*a[0][3]+a[5][1]*a[3][5]*a[0][4]*a[4][3]*a[1][0]-a[5][1]*a[3][5]*a[1][3]*a[4][0]*a[0][4]-a[5][3]*a[3][5]*a[0][0]*a[4][4]*a[1][1]+a[5][3]*a[3][5]*a[0][0]*a[4][1]*a[1][4]+a[5][3]*a[3][5]*a[4][0]*a[0][4]*a[1][1]+a[5][3]*a[3][5]*a[1][0]*a[0][1]*a[4][4]-a[5][3]*a[3][5]*a[4][1]*a[1][0]*a[0][4]-a[5][3]*a[3][5]*a[4][0]*a[0][1]*a[1][4]+a[5][0]*a[3][5]*a[1][1]*a[0][3]*a[4][4]-a[5][0]*a[3][5]*a[1][1]*a[4][3]*a[0][4]-a[5][0]*a[3][5]*a[0][1]*a[1][3]*a[4][4]+a[5][0]*a[3][5]*a[0][4]*a[4][1]*a[1][3]+a[5][0]*a[3][5]*a[1][4]*a[4][3]*a[0][1]-a[5][0]*a[3][5]*a[1][4]*a[4][1]*a[0][3]-a[5][4]*a[4][5]*a[0][0]*a[3][3]*a[1][1]+a[5][4]*a[4][5]*a[0][0]*a[3][1]*a[1][3]+a[5][4]*a[4][5]*a[3][0]*a[0][3]*a[1][1]+a[5][4]*a[4][5]*a[1][0]*a[0][1]*a[3][3]-a[5][4]*a[4][5]*a[3][1]*a[1][0]*a[0][3]-a[5][4]*a[4][5]*a[3][0]*a[0][1]*a[1][3]+a[5][4]*a[1][5]*a[0][0]*a[4][1]*a[3][3]-a[5][4]*a[1][5]*a[0][0]*a[4][3]*a[3][1]-a[5][4]*a[1][5]*a[4][0]*a[0][1]*a[3][3]-a[5][3]*a[0][5]*a[3][0]*a[4][1]*a[1][4]+a[5][3]*a[0][5]*a[4][0]*a[1][4]*a[3][1]+a[5][3]*a[0][5]*a[3][4]*a[4][1]*a[1][0]-a[5][0]*a[0][5]*a[1][1]*a[4][4]*a[3][3]+a[5][0]*a[0][5]*a[1][1]*a[4][3]*a[3][4]+a[5][0]*a[0][5]*a[4][1]*a[1][4]*a[3][3]+a[5][0]*a[0][5]*a[3][1]*a[1][3]*a[4][4]-a[5][0]*a[0][5]*a[4][3]*a[3][1]*a[1][4]-a[5][0]*a[0][5]*a[4][1]*a[1][3]*a[3][4]+a[5][4]*a[3][5]*a[0][0]*a[4][3]*a[1][1]-a[5][4]*a[3][5]*a[0][0]*a[4][1]*a[1][3]-a[5][4]*a[3][5]*a[4][0]*a[0][3]*a[1][1]-a[5][4]*a[3][5]*a[4][3]*a[1][0]*a[0][1]+a[5][4]*a[3][5]*a[4][1]*a[1][0]*a[0][3]+a[5][4]*a[3][5]*a[4][0]*a[0][1]*a[1][3]-a[5][1]*a[1][5]*a[0][0]*a[4][4]*a[3][3]+a[5][1]*a[1][5]*a[0][0]*a[4][3]*a[3][4]+a[5][1]*a[1][5]*a[4][0]*a[0][4]*a[3][3]+a[5][1]*a[1][5]*a[3][0]*a[0][3]*a[4][4]-a[5][1]*a[1][5]*a[4][0]*a[0][3]*a[3][4]-a[5][1]*a[1][5]*a[4][3]*a[3][0]*a[0][4])/det;
    ainv[3][2] = (-a[5][5]*a[0][0]*a[1][1]*a[4][4]*a[3][2]+a[5][5]*a[0][0]*a[1][1]*a[3][4]*a[4][2]-a[5][5]*a[0][0]*a[3][4]*a[4][1]*a[1][2]+a[5][5]*a[0][0]*a[4][4]*a[3][1]*a[1][2]-a[5][5]*a[0][0]*a[3][1]*a[1][4]*a[4][2]+a[5][5]*a[0][0]*a[4][1]*a[1][4]*a[3][2]+a[5][5]*a[1][1]*a[4][4]*a[3][0]*a[0][2]-a[5][5]*a[1][1]*a[3][4]*a[4][0]*a[0][2]+a[5][5]*a[1][1]*a[4][0]*a[0][4]*a[3][2]-a[5][5]*a[1][1]*a[3][0]*a[0][4]*a[4][2]-a[5][5]*a[4][1]*a[1][4]*a[3][0]*a[0][2]-a[5][5]*a[4][4]*a[3][1]*a[1][0]*a[0][2]+a[5][5]*a[1][0]*a[0][1]*a[4][4]*a[3][2]-a[5][5]*a[4][0]*a[0][1]*a[1][4]*a[3][2]+a[5][5]*a[3][1]*a[1][4]*a[4][0]*a[0][2]-a[5][5]*a[4][4]*a[3][0]*a[0][1]*a[1][2]-a[5][5]*a[4][1]*a[1][0]*a[0][4]*a[3][2]+a[5][5]*a[3][0]*a[0][4]*a[4][1]*a[1][2]-a[5][5]*a[3][4]*a[1][0]*a[0][1]*a[4][2]+a[5][5]*a[3][4]*a[4][0]*a[0][1]*a[1][2]+a[5][5]*a[3][4]*a[4][1]*a[1][0]*a[0][2]+a[5][5]*a[3][1]*a[1][0]*a[0][4]*a[4][2]-a[5][5]*a[4][0]*a[0][4]*a[3][1]*a[1][2]+a[5][5]*a[3][0]*a[0][1]*a[1][4]*a[4][2]-a[5][0]*a[4][5]*a[1][1]*a[0][4]*a[3][2]+a[5][0]*a[4][5]*a[1][1]*a[3][4]*a[0][2]+a[5][0]*a[4][5]*a[1][4]*a[0][1]*a[3][2]-a[5][0]*a[4][5]*a[1][4]*a[3][1]*a[0][2]-a[5][0]*a[4][5]*a[3][4]*a[0][1]*a[1][2]+a[5][0]*a[4][5]*a[0][4]*a[3][1]*a[1][2]-a[5][2]*a[4][5]*a[0][0]*a[3][4]*a[1][1]-a[5][2]*a[3][5]*a[0][0]*a[4][1]*a[1][4]-a[5][2]*a[3][5]*a[0][4]*a[4][0]*a[1][1]-a[5][2]*a[3][5]*a[1][0]*a[0][1]*a[4][4]+a[5][2]*a[3][5]*a[0][4]*a[4][1]*a[1][0]+a[5][2]*a[3][5]*a[1][4]*a[4][0]*a[0][1]-a[5][0]*a[3][5]*a[1][1]*a[0][2]*a[4][4]+a[5][0]*a[3][5]*a[1][1]*a[0][4]*a[4][2]+a[5][0]*a[3][5]*a[0][1]*a[1][2]*a[4][4]+a[5][0]*a[3][5]*a[4][1]*a[1][4]*a[0][2]-a[5][0]*a[3][5]*a[1][4]*a[4][2]*a[0][1]-a[5][0]*a[3][5]*a[0][4]*a[4][1]*a[1][2]+a[5][4]*a[1][5]*a[0][0]*a[3][1]*a[4][2]-a[5][4]*a[1][5]*a[0][0]*a[4][1]*a[3][2]+a[5][4]*a[1][5]*a[4][1]*a[3][0]*a[0][2]-a[5][4]*a[1][5]*a[3][0]*a[0][1]*a[4][2]+a[5][4]*a[1][5]*a[4][0]*a[0][1]*a[3][2]-a[5][4]*a[1][5]*a[3][1]*a[4][0]*a[0][2]-a[5][1]*a[3][5]*a[0][0]*a[1][2]*a[4][4]+a[5][1]*a[3][5]*a[0][0]*a[4][2]*a[1][4]+a[5][1]*a[3][5]*a[1][0]*a[0][2]*a[4][4]-a[5][1]*a[3][5]*a[0][4]*a[4][2]*a[1][0]-a[5][1]*a[3][5]*a[1][4]*a[4][0]*a[0][2]+a[5][1]*a[3][5]*a[0][4]*a[4][0]*a[1][2]-a[5][0]*a[1][5]*a[4][4]*a[0][1]*a[3][2]+a[5][0]*a[1][5]*a[4][4]*a[3][1]*a[0][2]+a[5][0]*a[1][5]*a[0][4]*a[4][1]*a[3][2]-a[5][0]*a[1][5]*a[3][1]*a[0][4]*a[4][2]-a[5][0]*a[1][5]*a[3][4]*a[4][1]*a[0][2]+a[5][0]*a[1][5]*a[0][1]*a[3][4]*a[4][2]-a[5][2]*a[0][5]*a[1][1]*a[3][0]*a[4][4]+a[5][2]*a[0][5]*a[1][1]*a[4][0]*a[3][4]+a[5][2]*a[0][5]*a[1][0]*a[3][1]*a[4][4]-a[5][2]*a[0][5]*a[1][4]*a[4][0]*a[3][1]-a[5][2]*a[0][5]*a[3][4]*a[4][1]*a[1][0]+a[5][2]*a[0][5]*a[1][4]*a[4][1]*a[3][0]-a[5][1]*a[0][5]*a[4][4]*a[1][0]*a[3][2]+a[5][1]*a[0][5]*a[4][4]*a[3][0]*a[1][2]+a[5][1]*a[0][5]*a[1][4]*a[4][0]*a[3][2]+a[5][2]*a[4][5]*a[0][0]*a[1][4]*a[3][1]+a[5][2]*a[4][5]*a[0][4]*a[3][0]*a[1][1]-a[5][2]*a[4][5]*a[0][4]*a[1][0]*a[3][1]+a[5][2]*a[4][5]*a[3][4]*a[1][0]*a[0][1]-a[5][2]*a[4][5]*a[1][4]*a[3][0]*a[0][1]+a[5][0]*a[0][5]*a[1][1]*a[3][2]*a[4][4]-a[5][0]*a[0][5]*a[1][1]*a[3][4]*a[4][2]-a[5][0]*a[0][5]*a[3][1]*a[1][2]*a[4][4]+a[5][0]*a[0][5]*a[3][1]*a[1][4]*a[4][2]-a[5][0]*a[0][5]*a[4][1]*a[1][4]*a[3][2]+a[5][0]*a[0][5]*a[3][4]*a[4][1]*a[1][2]-a[5][4]*a[4][5]*a[0][0]*a[3][1]*a[1][2]+a[5][4]*a[4][5]*a[0][0]*a[1][1]*a[3][2]+a[5][4]*a[4][5]*a[3][1]*a[1][0]*a[0][2]-a[5][4]*a[4][5]*a[1][1]*a[3][0]*a[0][2]-a[5][4]*a[4][5]*a[1][0]*a[0][1]*a[3][2]+a[5][4]*a[4][5]*a[3][0]*a[0][1]*a[1][2]+a[5][4]*a[0][5]*a[1][1]*a[3][0]*a[4][2]-a[5][4]*a[0][5]*a[1][1]*a[4][0]*a[3][2]+a[5][4]*a[0][5]*a[4][1]*a[1][0]*a[3][2]+a[5][4]*a[0][5]*a[4][0]*a[3][1]*a[1][2]-a[5][4]*a[0][5]*a[3][0]*a[4][1]*a[1][2]-a[5][4]*a[0][5]*a[1][0]*a[3][1]*a[4][2]-a[5][2]*a[1][5]*a[0][0]*a[3][1]*a[4][4]+a[5][2]*a[1][5]*a[0][0]*a[3][4]*a[4][1]+a[5][2]*a[1][5]*a[3][0]*a[0][1]*a[4][4]-a[5][2]*a[1][5]*a[4][0]*a[3][4]*a[0][1]+a[5][2]*a[1][5]*a[0][4]*a[4][0]*a[3][1]-a[5][2]*a[1][5]*a[4][1]*a[0][4]*a[3][0]+a[5][1]*a[4][5]*a[0][0]*a[3][4]*a[1][2]-a[5][1]*a[4][5]*a[0][0]*a[1][4]*a[3][2]+a[5][1]*a[4][5]*a[1][4]*a[3][0]*a[0][2]-a[5][1]*a[4][5]*a[3][4]*a[1][0]*a[0][2]+a[5][1]*a[4][5]*a[0][4]*a[1][0]*a[3][2]-a[5][1]*a[4][5]*a[0][4]*a[3][0]*a[1][2]+a[5][1]*a[1][5]*a[0][0]*a[3][2]*a[4][4]-a[5][1]*a[1][5]*a[0][0]*a[3][4]*a[4][2]-a[5][1]*a[1][5]*a[3][0]*a[0][2]*a[4][4]+a[5][1]*a[1][5]*a[3][0]*a[0][4]*a[4][2]+a[5][1]*a[1][5]*a[3][4]*a[4][0]*a[0][2]-a[5][1]*a[1][5]*a[4][0]*a[0][4]*a[3][2]-a[5][4]*a[3][5]*a[4][1]*a[1][0]*a[0][2]+a[5][4]*a[3][5]*a[1][0]*a[0][1]*a[4][2]+a[5][2]*a[3][5]*a[0][0]*a[4][4]*a[1][1]-a[5][4]*a[3][5]*a[0][0]*a[1][1]*a[4][2]+a[5][4]*a[3][5]*a[0][0]*a[4][1]*a[1][2]+a[5][4]*a[3][5]*a[1][1]*a[4][0]*a[0][2]-a[5][4]*a[3][5]*a[4][0]*a[0][1]*a[1][2]-a[5][1]*a[0][5]*a[4][0]*a[3][4]*a[1][2]+a[5][1]*a[0][5]*a[1][0]*a[3][4]*a[4][2]-a[5][1]*a[0][5]*a[3][0]*a[4][2]*a[1][4])/det;
    ainv[4][2] = (-a[5][3]*a[3][5]*a[0][0]*a[4][1]*a[1][2]+a[5][3]*a[3][5]*a[0][0]*a[1][1]*a[4][2]+a[5][3]*a[3][5]*a[4][1]*a[1][0]*a[0][2]-a[5][3]*a[3][5]*a[1][1]*a[4][0]*a[0][2]-a[5][3]*a[3][5]*a[1][0]*a[0][1]*a[4][2]+a[5][3]*a[3][5]*a[4][0]*a[0][1]*a[1][2]+a[5][0]*a[0][5]*a[1][1]*a[4][2]*a[3][3]-a[5][0]*a[0][5]*a[1][1]*a[4][3]*a[3][2]-a[5][0]*a[0][5]*a[4][1]*a[1][2]*a[3][3]+a[5][0]*a[0][5]*a[4][1]*a[1][3]*a[3][2]-a[5][0]*a[0][5]*a[3][1]*a[1][3]*a[4][2]+a[5][0]*a[0][5]*a[4][3]*a[3][1]*a[1][2]+a[5][1]*a[0][5]*a[3][3]*a[4][0]*a[1][2]-a[5][1]*a[0][5]*a[3][3]*a[1][0]*a[4][2]-a[5][1]*a[0][5]*a[4][0]*a[1][3]*a[3][2]+a[5][1]*a[0][5]*a[1][3]*a[3][0]*a[4][2]+a[5][1]*a[0][5]*a[1][0]*a[4][3]*a[3][2]-a[5][1]*a[0][5]*a[4][3]*a[3][0]*a[1][2]+a[5][3]*a[1][5]*a[0][0]*a[4][1]*a[3][2]-a[5][3]*a[1][5]*a[0][0]*a[3][1]*a[4][2]+a[5][3]*a[1][5]*a[3][0]*a[0][1]*a[4][2]-a[5][3]*a[1][5]*a[4][1]*a[3][0]*a[0][2]-a[5][3]*a[1][5]*a[4][0]*a[0][1]*a[3][2]+a[5][3]*a[1][5]*a[3][1]*a[4][0]*a[0][2]-a[5][5]*a[1][1]*a[4][3]*a[3][0]*a[0][2]+a[5][5]*a[3][3]*a[1][0]*a[0][1]*a[4][2]-a[5][5]*a[3][0]*a[0][3]*a[4][1]*a[1][2]-a[5][5]*a[3][3]*a[4][0]*a[0][1]*a[1][2]+a[5][5]*a[4][1]*a[1][0]*a[0][3]*a[3][2]-a[5][5]*a[3][1]*a[1][0]*a[0][3]*a[4][2]+a[5][5]*a[4][0]*a[0][3]*a[3][1]*a[1][2]-a[5][5]*a[3][3]*a[4][1]*a[1][0]*a[0][2]+a[5][5]*a[4][3]*a[3][1]*a[1][0]*a[0][2]-a[5][5]*a[4][3]*a[1][0]*a[0][1]*a[3][2]+a[5][5]*a[4][3]*a[3][0]*a[0][1]*a[1][2]-a[5][5]*a[3][1]*a[1][3]*a[4][0]*a[0][2]+a[5][5]*a[4][1]*a[1][3]*a[3][0]*a[0][2]-a[5][5]*a[3][0]*a[0][1]*a[1][3]*a[4][2]+a[5][5]*a[4][0]*a[0][1]*a[1][3]*a[3][2]+a[5][0]*a[3][5]*a[1][1]*a[4][3]*a[0][2]-a[5][0]*a[3][5]*a[1][1]*a[0][3]*a[4][2]+a[5][0]*a[3][5]*a[0][3]*a[4][1]*a[1][2]-a[5][0]*a[3][5]*a[4][3]*a[0][1]*a[1][2]+a[5][0]*a[3][5]*a[0][1]*a[1][3]*a[4][2]-a[5][0]*a[3][5]*a[4][1]*a[1][3]*a[0][2]+a[5][3]*a[0][5]*a[1][1]*a[4][0]*a[3][2]-a[5][3]*a[0][5]*a[1][1]*a[3][0]*a[4][2]-a[5][3]*a[0][5]*a[4][1]*a[1][0]*a[3][2]+a[5][3]*a[0][5]*a[1][0]*a[3][1]*a[4][2]-a[5][3]*a[0][5]*a[4][0]*a[3][1]*a[1][2]+a[5][3]*a[0][5]*a[3][0]*a[4][1]*a[1][2]-a[5][3]*a[4][5]*a[0][0]*a[1][1]*a[3][2]+a[5][3]*a[4][5]*a[0][0]*a[3][1]*a[1][2]+a[5][3]*a[4][5]*a[1][1]*a[3][0]*a[0][2]+a[5][3]*a[4][5]*a[1][0]*a[0][1]*a[3][2]-a[5][3]*a[4][5]*a[3][1]*a[1][0]*a[0][2]-a[5][3]*a[4][5]*a[3][0]*a[0][1]*a[1][2]-a[5][1]*a[4][5]*a[0][0]*a[1][2]*a[3][3]+a[5][1]*a[4][5]*a[0][0]*a[1][3]*a[3][2]+a[5][1]*a[4][5]*a[1][0]*a[0][2]*a[3][3]-a[5][1]*a[4][5]*a[1][0]*a[0][3]*a[3][2]-a[5][1]*a[4][5]*a[1][3]*a[3][0]*a[0][2]+a[5][1]*a[4][5]*a[3][0]*a[0][3]*a[1][2]-a[5][2]*a[0][5]*a[1][1]*a[4][0]*a[3][3]+a[5][2]*a[0][5]*a[1][1]*a[4][3]*a[3][0]+a[5][2]*a[0][5]*a[4][1]*a[1][0]*a[3][3]-a[5][2]*a[0][5]*a[4][3]*a[3][1]*a[1][0]-a[5][2]*a[0][5]*a[4][1]*a[1][3]*a[3][0]+a[5][5]*a[0][0]*a[1][1]*a[4][3]*a[3][2]-a[5][5]*a[0][0]*a[1][1]*a[3][3]*a[4][2]-a[5][5]*a[0][0]*a[4][1]*a[1][3]*a[3][2]+a[5][5]*a[0][0]*a[3][3]*a[4][1]*a[1][2]+a[5][5]*a[0][0]*a[3][1]*a[1][3]*a[4][2]-a[5][5]*a[0][0]*a[4][3]*a[3][1]*a[1][2]+a[5][5]*a[1][1]*a[3][0]*a[0][3]*a[4][2]-a[5][5]*a[1][1]*a[4][0]*a[0][3]*a[3][2]+a[5][5]*a[1][1]*a[3][3]*a[4][0]*a[0][2]+a[5][2]*a[0][5]*a[3][1]*a[1][3]*a[4][0]+a[5][1]*a[1][5]*a[0][0]*a[4][2]*a[3][3]-a[5][1]*a[1][5]*a[0][0]*a[4][3]*a[3][2]-a[5][1]*a[1][5]*a[4][0]*a[0][2]*a[3][3]+a[5][1]*a[1][5]*a[4][0]*a[0][3]*a[3][2]+a[5][1]*a[1][5]*a[4][3]*a[3][0]*a[0][2]-a[5][1]*a[1][5]*a[3][0]*a[0][3]*a[4][2]-a[5][2]*a[1][5]*a[0][0]*a[4][1]*a[3][3]+a[5][2]*a[1][5]*a[0][0]*a[4][3]*a[3][1]+a[5][2]*a[1][5]*a[4][0]*a[0][1]*a[3][3]+a[5][2]*a[1][5]*a[3][0]*a[0][3]*a[4][1]-a[5][2]*a[1][5]*a[4][3]*a[3][0]*a[0][1]-a[5][2]*a[1][5]*a[4][0]*a[0][3]*a[3][1]-a[5][0]*a[4][5]*a[1][1]*a[0][2]*a[3][3]+a[5][0]*a[4][5]*a[1][1]*a[0][3]*a[3][2]+a[5][0]*a[4][5]*a[0][1]*a[1][2]*a[3][3]-a[5][0]*a[4][5]*a[0][1]*a[1][3]*a[3][2]-a[5][0]*a[4][5]*a[0][3]*a[3][1]*a[1][2]+a[5][0]*a[4][5]*a[3][1]*a[1][3]*a[0][2]-a[5][0]*a[1][5]*a[3][3]*a[0][1]*a[4][2]+a[5][0]*a[1][5]*a[3][3]*a[4][1]*a[0][2]+a[5][0]*a[1][5]*a[0][1]*a[4][3]*a[3][2]-a[5][0]*a[1][5]*a[4][1]*a[0][3]*a[3][2]-a[5][0]*a[1][5]*a[4][3]*a[3][1]*a[0][2]+a[5][0]*a[1][5]*a[0][3]*a[3][1]*a[4][2]-a[5][2]*a[3][5]*a[0][0]*a[4][3]*a[1][1]+a[5][2]*a[3][5]*a[0][0]*a[4][1]*a[1][3]+a[5][2]*a[3][5]*a[4][0]*a[0][3]*a[1][1]-a[5][2]*a[3][5]*a[4][0]*a[0][1]*a[1][3]+a[5][2]*a[3][5]*a[4][3]*a[1][0]*a[0][1]-a[5][2]*a[3][5]*a[4][1]*a[1][0]*a[0][3]+a[5][2]*a[4][5]*a[0][0]*a[3][3]*a[1][1]-a[5][2]*a[4][5]*a[0][0]*a[3][1]*a[1][3]-a[5][2]*a[4][5]*a[3][0]*a[0][3]*a[1][1]-a[5][2]*a[4][5]*a[1][0]*a[0][1]*a[3][3]+a[5][2]*a[4][5]*a[3][0]*a[0][1]*a[1][3]+a[5][2]*a[4][5]*a[3][1]*a[1][0]*a[0][3]-a[5][1]*a[3][5]*a[0][0]*a[1][3]*a[4][2]+a[5][1]*a[3][5]*a[0][0]*a[4][3]*a[1][2]+a[5][1]*a[3][5]*a[1][3]*a[4][0]*a[0][2]-a[5][1]*a[3][5]*a[4][3]*a[1][0]*a[0][2]-a[5][1]*a[3][5]*a[4][0]*a[0][3]*a[1][2]+a[5][1]*a[3][5]*a[1][0]*a[0][3]*a[4][2])/det;
    ainv[5][2] = (a[4][3]*a[3][4]*a[5][0]*a[0][1]*a[1][2]-a[5][1]*a[3][4]*a[4][3]*a[0][0]*a[1][2]+a[5][1]*a[3][4]*a[4][3]*a[1][0]*a[0][2]+a[4][1]*a[3][4]*a[5][3]*a[0][0]*a[1][2]-a[4][1]*a[3][4]*a[5][3]*a[1][0]*a[0][2]-a[4][2]*a[3][4]*a[5][3]*a[0][0]*a[1][1]+a[4][2]*a[3][4]*a[5][3]*a[1][0]*a[0][1]-a[5][0]*a[0][4]*a[4][2]*a[3][3]*a[1][1]+a[5][0]*a[0][4]*a[4][2]*a[3][1]*a[1][3]+a[4][0]*a[3][4]*a[5][3]*a[0][2]*a[1][1]-a[4][0]*a[3][4]*a[5][3]*a[0][1]*a[1][2]+a[5][3]*a[0][4]*a[4][2]*a[3][0]*a[1][1]-a[5][3]*a[0][4]*a[4][2]*a[3][1]*a[1][0]+a[5][2]*a[1][4]*a[4][1]*a[0][0]*a[3][3]-a[5][2]*a[1][4]*a[4][1]*a[3][0]*a[0][3]-a[5][2]*a[0][4]*a[4][1]*a[1][0]*a[3][3]+a[5][2]*a[0][4]*a[4][1]*a[1][3]*a[3][0]-a[5][1]*a[0][4]*a[4][0]*a[3][3]*a[1][2]+a[5][1]*a[0][4]*a[4][0]*a[1][3]*a[3][2]+a[4][3]*a[1][4]*a[5][0]*a[0][2]*a[3][1]-a[4][3]*a[1][4]*a[5][0]*a[0][1]*a[3][2]-a[5][1]*a[0][4]*a[4][3]*a[3][2]*a[1][0]+a[5][1]*a[0][4]*a[4][3]*a[3][0]*a[1][2]-a[5][2]*a[3][4]*a[4][0]*a[0][3]*a[1][1]+a[5][2]*a[3][4]*a[4][0]*a[0][1]*a[1][3]-a[5][2]*a[1][4]*a[4][0]*a[3][3]*a[0][1]+a[5][2]*a[1][4]*a[4][0]*a[0][3]*a[3][1]-a[5][3]*a[0][4]*a[4][0]*a[3][2]*a[1][1]+a[5][3]*a[0][4]*a[4][0]*a[3][1]*a[1][2]-a[5][2]*a[0][4]*a[4][3]*a[3][0]*a[1][1]+a[5][2]*a[0][4]*a[4][3]*a[3][1]*a[1][0]+a[5][3]*a[0][4]*a[4][1]*a[3][2]*a[1][0]-a[5][3]*a[0][4]*a[4][1]*a[3][0]*a[1][2]-a[4][3]*a[5][4]*a[0][0]*a[1][1]*a[3][2]+a[4][3]*a[5][4]*a[0][0]*a[3][1]*a[1][2]+a[4][3]*a[5][4]*a[1][1]*a[3][0]*a[0][2]-a[4][3]*a[5][4]*a[3][1]*a[1][0]*a[0][2]+a[4][3]*a[5][4]*a[1][0]*a[0][1]*a[3][2]-a[4][3]*a[5][4]*a[3][0]*a[0][1]*a[1][2]-a[4][2]*a[5][4]*a[0][0]*a[3][1]*a[1][3]+a[4][2]*a[5][4]*a[0][0]*a[1][1]*a[3][3]+a[4][2]*a[5][4]*a[3][1]*a[1][0]*a[0][3]-a[4][2]*a[5][4]*a[1][1]*a[3][0]*a[0][3]-a[4][2]*a[5][4]*a[1][0]*a[0][1]*a[3][3]+a[4][2]*a[5][4]*a[3][0]*a[0][1]*a[1][3]-a[4][0]*a[5][4]*a[1][1]*a[3][3]*a[0][2]+a[4][0]*a[5][4]*a[1][1]*a[0][3]*a[3][2]+a[4][0]*a[5][4]*a[3][3]*a[0][1]*a[1][2]-a[4][0]*a[5][4]*a[0][1]*a[1][3]*a[3][2]-a[4][0]*a[5][4]*a[0][3]*a[3][1]*a[1][2]+a[4][0]*a[5][4]*a[3][1]*a[1][3]*a[0][2]-a[5][2]*a[4][4]*a[0][0]*a[1][1]*a[3][3]+a[5][2]*a[4][4]*a[0][0]*a[3][1]*a[1][3]+a[5][2]*a[4][4]*a[1][1]*a[3][0]*a[0][3]+a[5][2]*a[4][4]*a[1][0]*a[0][1]*a[3][3]-a[5][2]*a[4][4]*a[3][0]*a[0][1]*a[1][3]-a[5][2]*a[4][4]*a[3][1]*a[1][0]*a[0][3]+a[5][1]*a[4][4]*a[0][0]*a[3][3]*a[1][2]-a[5][1]*a[4][4]*a[0][0]*a[1][3]*a[3][2]-a[5][1]*a[4][4]*a[1][0]*a[0][2]*a[3][3]+a[5][1]*a[4][4]*a[1][0]*a[0][3]*a[3][2]+a[5][1]*a[4][4]*a[1][3]*a[3][0]*a[0][2]-a[5][1]*a[4][4]*a[3][0]*a[0][3]*a[1][2]-a[4][1]*a[5][4]*a[0][0]*a[3][3]*a[1][2]+a[4][1]*a[5][4]*a[0][0]*a[1][3]*a[3][2]+a[4][1]*a[5][4]*a[1][0]*a[0][2]*a[3][3]-a[4][1]*a[5][4]*a[1][3]*a[3][0]*a[0][2]+a[4][1]*a[5][4]*a[3][0]*a[0][3]*a[1][2]-a[4][1]*a[5][4]*a[1][0]*a[0][3]*a[3][2]-a[5][3]*a[4][4]*a[0][0]*a[3][1]*a[1][2]+a[5][3]*a[4][4]*a[0][0]*a[1][1]*a[3][2]+a[5][0]*a[1][4]*a[4][2]*a[3][3]*a[0][1]-a[5][0]*a[1][4]*a[4][2]*a[0][3]*a[3][1]+a[5][0]*a[0][4]*a[4][1]*a[3][3]*a[1][2]-a[5][0]*a[0][4]*a[4][1]*a[1][3]*a[3][2]-a[5][2]*a[1][4]*a[4][3]*a[0][0]*a[3][1]+a[5][2]*a[1][4]*a[4][3]*a[3][0]*a[0][1]-a[5][3]*a[1][4]*a[4][1]*a[3][2]*a[0][0]+a[5][3]*a[1][4]*a[4][1]*a[3][0]*a[0][2]+a[5][1]*a[1][4]*a[4][0]*a[0][2]*a[3][3]-a[5][1]*a[1][4]*a[4][0]*a[0][3]*a[3][2]-a[5][2]*a[3][4]*a[4][1]*a[0][0]*a[1][3]+a[5][2]*a[3][4]*a[4][1]*a[1][0]*a[0][3]-a[5][0]*a[1][4]*a[4][1]*a[0][2]*a[3][3]+a[5][0]*a[1][4]*a[4][1]*a[0][3]*a[3][2]-a[5][3]*a[1][4]*a[4][0]*a[0][2]*a[3][1]+a[5][3]*a[1][4]*a[4][0]*a[0][1]*a[3][2]+a[5][3]*a[1][4]*a[4][2]*a[0][0]*a[3][1]-a[5][3]*a[1][4]*a[4][2]*a[3][0]*a[0][1]+a[4][3]*a[1][4]*a[5][1]*a[3][2]*a[0][0]-a[4][3]*a[1][4]*a[5][1]*a[3][0]*a[0][2]-a[4][2]*a[1][4]*a[5][1]*a[0][0]*a[3][3]+a[4][2]*a[1][4]*a[5][1]*a[3][0]*a[0][3]+a[5][3]*a[4][4]*a[3][1]*a[1][0]*a[0][2]-a[5][3]*a[4][4]*a[1][1]*a[3][0]*a[0][2]-a[5][3]*a[4][4]*a[1][0]*a[0][1]*a[3][2]+a[5][3]*a[4][4]*a[3][0]*a[0][1]*a[1][2]+a[5][0]*a[4][4]*a[1][1]*a[3][3]*a[0][2]-a[5][0]*a[4][4]*a[1][1]*a[0][3]*a[3][2]-a[5][0]*a[4][4]*a[3][3]*a[0][1]*a[1][2]+a[5][0]*a[4][4]*a[0][1]*a[1][3]*a[3][2]+a[5][0]*a[4][4]*a[0][3]*a[3][1]*a[1][2]-a[5][0]*a[4][4]*a[3][1]*a[1][3]*a[0][2]+a[4][2]*a[3][4]*a[5][1]*a[0][0]*a[1][3]-a[4][2]*a[3][4]*a[5][1]*a[1][0]*a[0][3]-a[4][1]*a[3][4]*a[5][0]*a[0][3]*a[1][2]+a[4][1]*a[3][4]*a[5][0]*a[1][3]*a[0][2]+a[4][0]*a[3][4]*a[5][1]*a[0][3]*a[1][2]-a[4][0]*a[3][4]*a[5][1]*a[1][3]*a[0][2]+a[5][1]*a[0][4]*a[4][2]*a[1][0]*a[3][3]-a[5][1]*a[0][4]*a[4][2]*a[1][3]*a[3][0]+a[5][0]*a[0][4]*a[4][3]*a[3][2]*a[1][1]-a[5][0]*a[0][4]*a[4][3]*a[3][1]*a[1][2]+a[4][2]*a[3][4]*a[5][0]*a[0][3]*a[1][1]-a[4][2]*a[3][4]*a[5][0]*a[0][1]*a[1][3]+a[5][2]*a[0][4]*a[4][0]*a[3][3]*a[1][1]-a[5][2]*a[0][4]*a[4][0]*a[3][1]*a[1][3]+a[5][2]*a[3][4]*a[4][3]*a[0][0]*a[1][1]-a[5][2]*a[3][4]*a[4][3]*a[1][0]*a[0][1]-a[4][3]*a[3][4]*a[5][0]*a[0][2]*a[1][1])/det;    
        
    ainv[0][3] = (a[5][3]*a[0][5]*a[1][1]*a[4][4]*a[2][2]-a[5][3]*a[0][5]*a[1][1]*a[4][2]*a[2][4]-a[5][5]*a[4][1]*a[1][4]*a[0][2]*a[2][3]+a[5][5]*a[2][1]*a[1][2]*a[4][4]*a[0][3]-a[5][5]*a[4][2]*a[2][4]*a[0][1]*a[1][3]+a[5][2]*a[1][5]*a[4][4]*a[2][3]*a[0][1]-a[5][2]*a[1][5]*a[4][4]*a[2][1]*a[0][3]-a[5][1]*a[2][5]*a[1][3]*a[0][4]*a[4][2]+a[5][1]*a[2][5]*a[0][4]*a[4][3]*a[1][2]-a[5][5]*a[4][2]*a[2][1]*a[1][4]*a[0][3]+a[5][5]*a[0][1]*a[1][2]*a[2][4]*a[4][3]+a[5][5]*a[0][1]*a[1][4]*a[4][2]*a[2][3]+a[5][5]*a[0][4]*a[4][2]*a[2][1]*a[1][3]+a[5][5]*a[1][1]*a[2][2]*a[0][4]*a[4][3]-a[5][5]*a[1][1]*a[2][2]*a[4][4]*a[0][3]-a[5][5]*a[1][1]*a[0][4]*a[4][2]*a[2][3]-a[5][5]*a[1][1]*a[0][2]*a[2][4]*a[4][3]+a[5][5]*a[1][1]*a[4][4]*a[0][2]*a[2][3]+a[5][5]*a[1][1]*a[4][2]*a[2][4]*a[0][3]+a[5][5]*a[2][2]*a[4][4]*a[0][1]*a[1][3]-a[5][5]*a[2][2]*a[0][4]*a[4][1]*a[1][3]-a[5][5]*a[2][2]*a[0][1]*a[1][4]*a[4][3]+a[5][5]*a[2][2]*a[4][1]*a[1][4]*a[0][3]+a[5][5]*a[0][4]*a[4][1]*a[1][2]*a[2][3]-a[5][5]*a[4][1]*a[1][2]*a[2][4]*a[0][3]+a[5][5]*a[0][2]*a[2][4]*a[4][1]*a[1][3]+a[5][5]*a[0][2]*a[2][1]*a[1][4]*a[4][3]-a[5][5]*a[4][4]*a[0][2]*a[2][1]*a[1][3]-a[5][5]*a[4][4]*a[0][1]*a[1][2]*a[2][3]-a[5][3]*a[4][5]*a[1][1]*a[0][4]*a[2][2]+a[5][3]*a[4][5]*a[1][1]*a[2][4]*a[0][2]-a[5][1]*a[0][5]*a[2][4]*a[4][3]*a[1][2]-a[5][1]*a[0][5]*a[1][4]*a[4][2]*a[2][3]+a[5][4]*a[0][5]*a[1][1]*a[4][2]*a[2][3]-a[5][4]*a[0][5]*a[1][1]*a[2][2]*a[4][3]-a[5][4]*a[0][5]*a[4][1]*a[1][2]*a[2][3]-a[5][4]*a[0][5]*a[4][2]*a[2][1]*a[1][3]+a[5][4]*a[0][5]*a[2][2]*a[4][1]*a[1][3]+a[5][4]*a[0][5]*a[2][1]*a[1][2]*a[4][3]+a[5][3]*a[4][5]*a[1][4]*a[0][1]*a[2][2]+a[5][3]*a[4][5]*a[0][4]*a[2][1]*a[1][2]-a[5][3]*a[4][5]*a[2][4]*a[0][1]*a[1][2]-a[5][3]*a[4][5]*a[1][4]*a[0][2]*a[2][1]+a[5][2]*a[1][5]*a[2][1]*a[0][4]*a[4][3]+a[5][2]*a[1][5]*a[0][3]*a[2][4]*a[4][1]-a[5][2]*a[1][5]*a[0][1]*a[4][3]*a[2][4]-a[5][2]*a[1][5]*a[0][4]*a[4][1]*a[2][3]+a[5][1]*a[1][5]*a[2][2]*a[0][3]*a[4][4]-a[5][1]*a[1][5]*a[2][2]*a[0][4]*a[4][3]-a[5][1]*a[1][5]*a[0][2]*a[2][3]*a[4][4]+a[5][1]*a[1][5]*a[2][4]*a[4][3]*a[0][2]+a[5][1]*a[1][5]*a[0][4]*a[4][2]*a[2][3]-a[5][1]*a[1][5]*a[4][2]*a[2][4]*a[0][3]-a[5][2]*a[0][5]*a[1][1]*a[2][3]*a[4][4]+a[5][2]*a[0][5]*a[1][1]*a[2][4]*a[4][3]+a[5][2]*a[0][5]*a[2][1]*a[1][3]*a[4][4]-a[5][2]*a[0][5]*a[2][4]*a[4][1]*a[1][3]-a[5][2]*a[0][5]*a[1][4]*a[4][3]*a[2][1]+a[5][2]*a[0][5]*a[1][4]*a[4][1]*a[2][3]+a[5][4]*a[2][5]*a[1][1]*a[0][2]*a[4][3]-a[5][4]*a[2][5]*a[1][1]*a[4][2]*a[0][3]+a[5][4]*a[2][5]*a[4][1]*a[1][2]*a[0][3]+a[5][4]*a[2][5]*a[4][2]*a[0][1]*a[1][3]-a[5][4]*a[2][5]*a[0][1]*a[1][2]*a[4][3]-a[5][4]*a[2][5]*a[0][2]*a[4][1]*a[1][3]-a[5][1]*a[2][5]*a[4][4]*a[0][3]*a[1][2]+a[5][1]*a[2][5]*a[4][4]*a[1][3]*a[0][2]-a[5][1]*a[2][5]*a[4][3]*a[1][4]*a[0][2]+a[5][1]*a[2][5]*a[0][3]*a[4][2]*a[1][4]-a[5][5]*a[0][4]*a[2][1]*a[1][2]*a[4][3]+a[5][2]*a[2][5]*a[1][1]*a[0][3]*a[4][4]-a[5][2]*a[2][5]*a[1][1]*a[0][4]*a[4][3]-a[5][2]*a[2][5]*a[0][1]*a[1][3]*a[4][4]+a[5][2]*a[2][5]*a[0][4]*a[4][1]*a[1][3]+a[5][2]*a[2][5]*a[1][4]*a[4][3]*a[0][1]-a[5][2]*a[2][5]*a[1][4]*a[4][1]*a[0][3]+a[5][4]*a[4][5]*a[1][1]*a[2][2]*a[0][3]-a[5][4]*a[4][5]*a[1][1]*a[0][2]*a[2][3]+a[5][4]*a[4][5]*a[0][2]*a[2][1]*a[1][3]-a[5][4]*a[4][5]*a[2][2]*a[0][1]*a[1][3]-a[5][4]*a[4][5]*a[2][1]*a[1][2]*a[0][3]+a[5][4]*a[4][5]*a[0][1]*a[1][2]*a[2][3]-a[5][3]*a[0][5]*a[4][1]*a[1][4]*a[2][2]-a[5][3]*a[0][5]*a[2][1]*a[1][2]*a[4][4]+a[5][3]*a[0][5]*a[4][2]*a[2][1]*a[1][4]+a[5][3]*a[0][5]*a[4][1]*a[1][2]*a[2][4]+a[5][2]*a[4][5]*a[1][1]*a[0][4]*a[2][3]-a[5][2]*a[4][5]*a[1][1]*a[2][4]*a[0][3]+a[5][2]*a[4][5]*a[1][4]*a[2][1]*a[0][3]+a[5][2]*a[4][5]*a[2][4]*a[0][1]*a[1][3]-a[5][2]*a[4][5]*a[0][4]*a[2][1]*a[1][3]-a[5][2]*a[4][5]*a[1][4]*a[0][1]*a[2][3]-a[5][1]*a[4][5]*a[2][2]*a[1][4]*a[0][3]+a[5][1]*a[4][5]*a[2][2]*a[0][4]*a[1][3]-a[5][1]*a[4][5]*a[2][4]*a[0][2]*a[1][3]-a[5][1]*a[4][5]*a[0][4]*a[1][2]*a[2][3]+a[5][1]*a[4][5]*a[1][4]*a[0][2]*a[2][3]+a[5][1]*a[4][5]*a[2][4]*a[1][2]*a[0][3]-a[5][4]*a[1][5]*a[2][2]*a[0][3]*a[4][1]+a[5][4]*a[1][5]*a[2][2]*a[4][3]*a[0][1]+a[5][4]*a[1][5]*a[0][2]*a[2][3]*a[4][1]-a[5][4]*a[1][5]*a[4][3]*a[0][2]*a[2][1]+a[5][4]*a[1][5]*a[0][3]*a[4][2]*a[2][1]-a[5][4]*a[1][5]*a[4][2]*a[2][3]*a[0][1]-a[5][3]*a[2][5]*a[1][1]*a[0][2]*a[4][4]+a[5][3]*a[2][5]*a[1][1]*a[0][4]*a[4][2]+a[5][3]*a[2][5]*a[0][1]*a[1][2]*a[4][4]-a[5][3]*a[2][5]*a[4][1]*a[0][4]*a[1][2]-a[5][3]*a[2][5]*a[1][4]*a[4][2]*a[0][1]+a[5][3]*a[2][5]*a[1][4]*a[4][1]*a[0][2]-a[5][3]*a[1][5]*a[2][2]*a[0][1]*a[4][4]+a[5][3]*a[1][5]*a[2][2]*a[0][4]*a[4][1]+a[5][3]*a[1][5]*a[0][2]*a[2][1]*a[4][4]-a[5][3]*a[1][5]*a[4][2]*a[0][4]*a[2][1]-a[5][3]*a[1][5]*a[2][4]*a[4][1]*a[0][2]+a[5][3]*a[1][5]*a[4][2]*a[2][4]*a[0][1]-a[5][1]*a[0][5]*a[2][2]*a[1][3]*a[4][4]+a[5][1]*a[0][5]*a[2][2]*a[4][3]*a[1][4]+a[5][1]*a[0][5]*a[1][2]*a[2][3]*a[4][4]+a[5][1]*a[0][5]*a[1][3]*a[4][2]*a[2][4])/det;
    ainv[1][3] = (-a[5][3]*a[4][5]*a[0][0]*a[1][4]*a[2][2]+a[5][3]*a[4][5]*a[0][0]*a[2][4]*a[1][2]+a[5][3]*a[4][5]*a[1][0]*a[0][4]*a[2][2]-a[5][3]*a[4][5]*a[2][4]*a[1][0]*a[0][2]+a[5][3]*a[4][5]*a[1][4]*a[2][0]*a[0][2]-a[5][3]*a[4][5]*a[0][4]*a[1][2]*a[2][0]-a[5][2]*a[1][5]*a[0][0]*a[2][3]*a[4][4]+a[5][2]*a[1][5]*a[0][0]*a[4][3]*a[2][4]+a[5][2]*a[1][5]*a[2][0]*a[0][3]*a[4][4]-a[5][2]*a[1][5]*a[4][0]*a[2][4]*a[0][3]-a[5][2]*a[1][5]*a[0][4]*a[4][3]*a[2][0]+a[5][2]*a[1][5]*a[4][0]*a[0][4]*a[2][3]+a[5][0]*a[4][5]*a[2][2]*a[1][4]*a[0][3]-a[5][0]*a[4][5]*a[2][2]*a[0][4]*a[1][3]+a[5][0]*a[4][5]*a[0][4]*a[1][2]*a[2][3]+a[5][0]*a[4][5]*a[2][4]*a[0][2]*a[1][3]-a[5][0]*a[4][5]*a[2][4]*a[1][2]*a[0][3]-a[5][0]*a[4][5]*a[1][4]*a[0][2]*a[2][3]-a[5][4]*a[1][5]*a[0][0]*a[4][3]*a[2][2]+a[5][4]*a[1][5]*a[0][0]*a[4][2]*a[2][3]+a[5][4]*a[1][5]*a[4][0]*a[0][3]*a[2][2]-a[5][4]*a[1][5]*a[4][2]*a[2][0]*a[0][3]-a[5][4]*a[1][5]*a[4][0]*a[0][2]*a[2][3]+a[5][4]*a[1][5]*a[4][3]*a[2][0]*a[0][2]-a[5][2]*a[0][5]*a[4][4]*a[2][0]*a[1][3]+a[5][2]*a[0][5]*a[4][4]*a[1][0]*a[2][3]-a[5][2]*a[0][5]*a[1][0]*a[4][3]*a[2][4]+a[5][2]*a[0][5]*a[2][4]*a[4][0]*a[1][3]-a[5][2]*a[0][5]*a[1][4]*a[4][0]*a[2][3]+a[5][2]*a[0][5]*a[2][0]*a[1][4]*a[4][3]+a[5][4]*a[0][5]*a[2][2]*a[1][0]*a[4][3]-a[5][4]*a[0][5]*a[2][2]*a[4][0]*a[1][3]-a[5][4]*a[0][5]*a[1][2]*a[2][0]*a[4][3]-a[5][4]*a[0][5]*a[1][0]*a[4][2]*a[2][3]+a[5][4]*a[0][5]*a[4][0]*a[1][2]*a[2][3]+a[5][4]*a[0][5]*a[4][2]*a[2][0]*a[1][3]+a[5][3]*a[1][5]*a[0][0]*a[4][4]*a[2][2]-a[5][3]*a[1][5]*a[0][0]*a[4][2]*a[2][4]-a[5][3]*a[1][5]*a[4][0]*a[0][4]*a[2][2]-a[5][3]*a[1][5]*a[2][0]*a[0][2]*a[4][4]+a[5][3]*a[1][5]*a[2][4]*a[4][0]*a[0][2]+a[5][3]*a[1][5]*a[4][2]*a[0][4]*a[2][0]+a[5][2]*a[4][5]*a[0][0]*a[1][4]*a[2][3]-a[5][2]*a[4][5]*a[0][0]*a[2][4]*a[1][3]+a[5][2]*a[4][5]*a[0][4]*a[2][0]*a[1][3]+a[5][2]*a[4][5]*a[2][4]*a[1][0]*a[0][3]-a[5][2]*a[4][5]*a[1][4]*a[2][0]*a[0][3]-a[5][2]*a[4][5]*a[0][4]*a[1][0]*a[2][3]+a[5][0]*a[0][5]*a[2][2]*a[1][3]*a[4][4]-a[5][0]*a[0][5]*a[2][2]*a[1][4]*a[4][3]-a[5][0]*a[0][5]*a[1][2]*a[2][3]*a[4][4]+a[5][0]*a[0][5]*a[1][2]*a[2][4]*a[4][3]-a[5][0]*a[0][5]*a[4][2]*a[2][4]*a[1][3]+a[5][0]*a[0][5]*a[1][4]*a[4][2]*a[2][3]+a[5][4]*a[4][5]*a[0][0]*a[2][2]*a[1][3]-a[5][4]*a[4][5]*a[0][0]*a[1][2]*a[2][3]-a[5][4]*a[4][5]*a[2][2]*a[1][0]*a[0][3]-a[5][4]*a[4][5]*a[2][0]*a[0][2]*a[1][3]+a[5][4]*a[4][5]*a[1][0]*a[0][2]*a[2][3]+a[5][4]*a[4][5]*a[1][2]*a[2][0]*a[0][3]-a[5][3]*a[2][5]*a[0][0]*a[1][2]*a[4][4]+a[5][3]*a[2][5]*a[0][0]*a[1][4]*a[4][2]+a[5][3]*a[2][5]*a[1][0]*a[0][2]*a[4][4]+a[5][3]*a[2][5]*a[0][4]*a[4][0]*a[1][2]-a[5][3]*a[2][5]*a[0][4]*a[4][2]*a[1][0]-a[5][3]*a[2][5]*a[1][4]*a[4][0]*a[0][2]-a[5][4]*a[2][5]*a[0][0]*a[4][2]*a[1][3]+a[5][4]*a[2][5]*a[0][0]*a[1][2]*a[4][3]-a[5][4]*a[2][5]*a[1][0]*a[0][2]*a[4][3]-a[5][4]*a[2][5]*a[1][2]*a[4][0]*a[0][3]+a[5][4]*a[2][5]*a[4][0]*a[0][2]*a[1][3]+a[5][4]*a[2][5]*a[4][2]*a[1][0]*a[0][3]-a[5][0]*a[1][5]*a[2][2]*a[0][3]*a[4][4]+a[5][0]*a[1][5]*a[2][2]*a[0][4]*a[4][3]+a[5][0]*a[1][5]*a[0][2]*a[2][3]*a[4][4]+a[5][0]*a[1][5]*a[4][2]*a[2][4]*a[0][3]-a[5][0]*a[1][5]*a[0][4]*a[4][2]*a[2][3]-a[5][0]*a[1][5]*a[4][3]*a[2][4]*a[0][2]+a[5][2]*a[2][5]*a[0][0]*a[1][3]*a[4][4]-a[5][2]*a[2][5]*a[0][0]*a[1][4]*a[4][3]-a[5][2]*a[2][5]*a[1][0]*a[0][3]*a[4][4]+a[5][2]*a[2][5]*a[1][0]*a[0][4]*a[4][3]-a[5][2]*a[2][5]*a[4][0]*a[0][4]*a[1][3]+a[5][2]*a[2][5]*a[1][4]*a[4][0]*a[0][3]-a[5][3]*a[0][5]*a[2][2]*a[1][0]*a[4][4]+a[5][3]*a[0][5]*a[2][2]*a[1][4]*a[4][0]+a[5][3]*a[0][5]*a[1][2]*a[2][0]*a[4][4]-a[5][3]*a[0][5]*a[2][4]*a[4][0]*a[1][2]-a[5][3]*a[0][5]*a[1][4]*a[4][2]*a[2][0]+a[5][3]*a[0][5]*a[4][2]*a[2][4]*a[1][0]+a[5][0]*a[2][5]*a[4][4]*a[1][2]*a[0][3]-a[5][0]*a[2][5]*a[4][4]*a[0][2]*a[1][3]+a[5][0]*a[2][5]*a[0][4]*a[4][2]*a[1][3]+a[5][0]*a[2][5]*a[0][2]*a[1][4]*a[4][3]-a[5][0]*a[2][5]*a[1][2]*a[0][4]*a[4][3]-a[5][0]*a[2][5]*a[1][4]*a[4][2]*a[0][3]-a[5][5]*a[0][0]*a[2][2]*a[4][4]*a[1][3]+a[5][5]*a[0][0]*a[2][2]*a[1][4]*a[4][3]-a[5][5]*a[0][0]*a[1][2]*a[2][4]*a[4][3]+a[5][5]*a[0][0]*a[4][2]*a[2][4]*a[1][3]+a[5][5]*a[0][0]*a[4][4]*a[1][2]*a[2][3]-a[5][5]*a[0][0]*a[1][4]*a[4][2]*a[2][3]-a[5][5]*a[2][2]*a[1][0]*a[0][4]*a[4][3]-a[5][5]*a[2][2]*a[1][4]*a[4][0]*a[0][3]+a[5][5]*a[2][2]*a[4][0]*a[0][4]*a[1][3]+a[5][5]*a[2][2]*a[4][4]*a[1][0]*a[0][3]+a[5][5]*a[1][0]*a[0][4]*a[4][2]*a[2][3]+a[5][5]*a[1][4]*a[4][0]*a[0][2]*a[2][3]-a[5][5]*a[4][2]*a[2][0]*a[0][4]*a[1][3]-a[5][5]*a[4][4]*a[1][2]*a[2][0]*a[0][3]+a[5][5]*a[1][2]*a[2][0]*a[0][4]*a[4][3]-a[5][5]*a[1][4]*a[2][0]*a[0][2]*a[4][3]-a[5][5]*a[4][0]*a[0][4]*a[1][2]*a[2][3]+a[5][5]*a[1][2]*a[2][4]*a[4][0]*a[0][3]-a[5][5]*a[4][2]*a[2][4]*a[1][0]*a[0][3]-a[5][5]*a[4][0]*a[0][2]*a[2][4]*a[1][3]-a[5][5]*a[4][4]*a[1][0]*a[0][2]*a[2][3]+a[5][5]*a[1][0]*a[0][2]*a[2][4]*a[4][3]+a[5][5]*a[2][0]*a[0][2]*a[4][4]*a[1][3]+a[5][5]*a[1][4]*a[4][2]*a[2][0]*a[0][3])/det;
    ainv[2][3] = (-a[5][4]*a[2][5]*a[0][0]*a[4][3]*a[1][1]+a[5][4]*a[2][5]*a[0][0]*a[4][1]*a[1][3]+a[5][5]*a[0][0]*a[1][1]*a[2][4]*a[4][3]-a[5][5]*a[0][0]*a[1][1]*a[4][4]*a[2][3]+a[5][5]*a[0][0]*a[4][1]*a[1][4]*a[2][3]-a[5][5]*a[0][0]*a[2][4]*a[4][1]*a[1][3]-a[5][5]*a[0][0]*a[2][1]*a[1][4]*a[4][3]+a[5][5]*a[0][0]*a[4][4]*a[2][1]*a[1][3]+a[5][5]*a[1][1]*a[4][0]*a[0][4]*a[2][3]+a[5][5]*a[1][1]*a[4][4]*a[2][0]*a[0][3]-a[5][5]*a[1][1]*a[2][0]*a[0][4]*a[4][3]-a[5][5]*a[1][1]*a[2][4]*a[4][0]*a[0][3]-a[5][5]*a[4][1]*a[1][0]*a[0][4]*a[2][3]-a[5][5]*a[4][1]*a[1][4]*a[2][0]*a[0][3]+a[5][5]*a[2][0]*a[0][1]*a[1][4]*a[4][3]-a[5][5]*a[2][4]*a[1][0]*a[0][1]*a[4][3]-a[5][5]*a[4][0]*a[0][1]*a[1][4]*a[2][3]-a[5][5]*a[4][0]*a[0][4]*a[2][1]*a[1][3]+a[5][3]*a[4][5]*a[0][4]*a[2][0]*a[1][1]+a[5][3]*a[4][5]*a[2][4]*a[1][0]*a[0][1]-a[5][3]*a[4][5]*a[1][4]*a[2][0]*a[0][1]-a[5][3]*a[4][5]*a[0][4]*a[1][0]*a[2][1]+a[5][1]*a[1][5]*a[0][0]*a[2][3]*a[4][4]-a[5][1]*a[1][5]*a[0][0]*a[2][4]*a[4][3]-a[5][1]*a[1][5]*a[2][0]*a[0][3]*a[4][4]+a[5][1]*a[1][5]*a[2][4]*a[4][0]*a[0][3]-a[5][1]*a[1][5]*a[4][0]*a[0][4]*a[2][3]+a[5][1]*a[1][5]*a[2][0]*a[0][4]*a[4][3]+a[5][0]*a[4][5]*a[1][1]*a[2][4]*a[0][3]-a[5][0]*a[4][5]*a[1][1]*a[0][4]*a[2][3]-a[5][0]*a[4][5]*a[1][4]*a[2][1]*a[0][3]-a[5][0]*a[4][5]*a[2][4]*a[0][1]*a[1][3]+a[5][0]*a[4][5]*a[0][4]*a[2][1]*a[1][3]+a[5][0]*a[4][5]*a[1][4]*a[0][1]*a[2][3]+a[5][4]*a[0][5]*a[4][1]*a[1][0]*a[2][3]+a[5][4]*a[0][5]*a[4][0]*a[2][1]*a[1][3]-a[5][1]*a[4][5]*a[0][0]*a[1][4]*a[2][3]+a[5][1]*a[4][5]*a[0][0]*a[2][4]*a[1][3]+a[5][1]*a[4][5]*a[1][4]*a[2][0]*a[0][3]-a[5][1]*a[4][5]*a[0][4]*a[2][0]*a[1][3]-a[5][1]*a[4][5]*a[2][4]*a[1][0]*a[0][3]+a[5][1]*a[4][5]*a[0][4]*a[1][0]*a[2][3]-a[5][4]*a[4][5]*a[0][0]*a[2][1]*a[1][3]+a[5][4]*a[4][5]*a[0][0]*a[1][1]*a[2][3]+a[5][4]*a[4][5]*a[2][1]*a[1][0]*a[0][3]-a[5][4]*a[4][5]*a[1][1]*a[2][0]*a[0][3]-a[5][4]*a[4][5]*a[1][0]*a[0][1]*a[2][3]+a[5][4]*a[4][5]*a[2][0]*a[0][1]*a[1][3]+a[5][0]*a[1][5]*a[4][4]*a[2][1]*a[0][3]-a[5][0]*a[1][5]*a[4][4]*a[0][1]*a[2][3]+a[5][0]*a[1][5]*a[0][1]*a[2][4]*a[4][3]+a[5][0]*a[1][5]*a[0][4]*a[4][1]*a[2][3]-a[5][0]*a[1][5]*a[4][1]*a[2][4]*a[0][3]-a[5][0]*a[1][5]*a[2][1]*a[0][4]*a[4][3]+a[5][5]*a[2][0]*a[0][4]*a[4][1]*a[1][3]+a[5][5]*a[1][0]*a[0][1]*a[4][4]*a[2][3]-a[5][5]*a[4][4]*a[2][1]*a[1][0]*a[0][3]+a[5][5]*a[2][1]*a[1][0]*a[0][4]*a[4][3]+a[5][5]*a[2][4]*a[4][1]*a[1][0]*a[0][3]-a[5][5]*a[4][4]*a[2][0]*a[0][1]*a[1][3]+a[5][5]*a[2][4]*a[4][0]*a[0][1]*a[1][3]+a[5][5]*a[2][1]*a[1][4]*a[4][0]*a[0][3]+a[5][4]*a[1][5]*a[0][0]*a[2][1]*a[4][3]-a[5][4]*a[1][5]*a[0][0]*a[4][1]*a[2][3]+a[5][4]*a[1][5]*a[4][0]*a[0][1]*a[2][3]-a[5][4]*a[1][5]*a[2][1]*a[4][0]*a[0][3]+a[5][4]*a[1][5]*a[4][1]*a[2][0]*a[0][3]-a[5][4]*a[1][5]*a[2][0]*a[0][1]*a[4][3]+a[5][3]*a[2][5]*a[0][0]*a[4][4]*a[1][1]-a[5][3]*a[2][5]*a[0][0]*a[1][4]*a[4][1]-a[5][3]*a[2][5]*a[0][4]*a[4][0]*a[1][1]-a[5][3]*a[2][5]*a[1][0]*a[0][1]*a[4][4]+a[5][3]*a[2][5]*a[0][4]*a[4][1]*a[1][0]+a[5][3]*a[2][5]*a[1][4]*a[4][0]*a[0][1]-a[5][0]*a[2][5]*a[1][1]*a[0][3]*a[4][4]+a[5][0]*a[2][5]*a[1][1]*a[0][4]*a[4][3]+a[5][0]*a[2][5]*a[0][1]*a[1][3]*a[4][4]-a[5][0]*a[2][5]*a[0][4]*a[4][1]*a[1][3]+a[5][0]*a[2][5]*a[1][4]*a[4][1]*a[0][3]-a[5][0]*a[2][5]*a[4][3]*a[1][4]*a[0][1]+a[5][4]*a[2][5]*a[4][0]*a[0][3]*a[1][1]-a[5][4]*a[2][5]*a[4][0]*a[0][1]*a[1][3]+a[5][4]*a[2][5]*a[4][3]*a[1][0]*a[0][1]-a[5][4]*a[2][5]*a[4][1]*a[1][0]*a[0][3]+a[5][1]*a[0][5]*a[4][4]*a[2][0]*a[1][3]-a[5][1]*a[0][5]*a[4][4]*a[1][0]*a[2][3]+a[5][1]*a[0][5]*a[1][4]*a[4][0]*a[2][3]-a[5][1]*a[0][5]*a[2][4]*a[4][0]*a[1][3]-a[5][1]*a[0][5]*a[2][0]*a[4][3]*a[1][4]+a[5][1]*a[0][5]*a[1][0]*a[2][4]*a[4][3]+a[5][0]*a[0][5]*a[1][1]*a[2][3]*a[4][4]-a[5][0]*a[0][5]*a[1][1]*a[2][4]*a[4][3]-a[5][0]*a[0][5]*a[2][1]*a[1][3]*a[4][4]-a[5][0]*a[0][5]*a[4][1]*a[1][4]*a[2][3]+a[5][0]*a[0][5]*a[2][1]*a[1][4]*a[4][3]+a[5][0]*a[0][5]*a[2][4]*a[4][1]*a[1][3]-a[5][3]*a[1][5]*a[0][0]*a[2][1]*a[4][4]+a[5][3]*a[1][5]*a[0][0]*a[4][1]*a[2][4]+a[5][3]*a[1][5]*a[2][0]*a[0][1]*a[4][4]-a[5][3]*a[1][5]*a[2][4]*a[4][0]*a[0][1]+a[5][3]*a[1][5]*a[2][1]*a[0][4]*a[4][0]-a[5][3]*a[1][5]*a[0][4]*a[4][1]*a[2][0]-a[5][3]*a[0][5]*a[1][1]*a[2][0]*a[4][4]+a[5][3]*a[0][5]*a[1][1]*a[2][4]*a[4][0]+a[5][3]*a[0][5]*a[1][0]*a[2][1]*a[4][4]-a[5][3]*a[0][5]*a[1][4]*a[4][0]*a[2][1]+a[5][3]*a[0][5]*a[2][0]*a[1][4]*a[4][1]-a[5][3]*a[0][5]*a[4][1]*a[2][4]*a[1][0]-a[5][1]*a[2][5]*a[0][0]*a[1][3]*a[4][4]+a[5][1]*a[2][5]*a[0][0]*a[4][3]*a[1][4]+a[5][1]*a[2][5]*a[1][0]*a[0][3]*a[4][4]-a[5][1]*a[2][5]*a[0][4]*a[4][3]*a[1][0]-a[5][1]*a[2][5]*a[1][4]*a[4][0]*a[0][3]+a[5][1]*a[2][5]*a[0][4]*a[4][0]*a[1][3]-a[5][3]*a[4][5]*a[0][0]*a[2][4]*a[1][1]+a[5][3]*a[4][5]*a[0][0]*a[1][4]*a[2][1]+a[5][4]*a[0][5]*a[1][1]*a[2][0]*a[4][3]-a[5][4]*a[0][5]*a[1][1]*a[4][0]*a[2][3]-a[5][4]*a[0][5]*a[1][0]*a[2][1]*a[4][3]-a[5][4]*a[0][5]*a[2][0]*a[4][1]*a[1][3])/det;
    ainv[3][3] = (a[5][1]*a[0][5]*a[2][2]*a[1][0]*a[4][4]-a[5][1]*a[0][5]*a[2][2]*a[1][4]*a[4][0]-a[5][1]*a[0][5]*a[1][2]*a[2][0]*a[4][4]+a[5][1]*a[0][5]*a[2][4]*a[4][0]*a[1][2]+a[5][1]*a[0][5]*a[1][4]*a[4][2]*a[2][0]-a[5][0]*a[1][5]*a[0][1]*a[4][2]*a[2][4]+a[5][0]*a[1][5]*a[0][4]*a[4][2]*a[2][1]+a[5][0]*a[1][5]*a[2][4]*a[4][1]*a[0][2]+a[5][0]*a[4][5]*a[1][1]*a[0][4]*a[2][2]-a[5][0]*a[4][5]*a[1][1]*a[2][4]*a[0][2]-a[5][0]*a[4][5]*a[1][4]*a[0][1]*a[2][2]+a[5][0]*a[4][5]*a[1][4]*a[0][2]*a[2][1]+a[5][0]*a[4][5]*a[2][4]*a[0][1]*a[1][2]-a[5][0]*a[4][5]*a[0][4]*a[2][1]*a[1][2]+a[5][1]*a[4][5]*a[0][0]*a[1][4]*a[2][2]-a[5][1]*a[4][5]*a[0][0]*a[2][4]*a[1][2]-a[5][1]*a[4][5]*a[1][0]*a[0][4]*a[2][2]+a[5][1]*a[4][5]*a[0][4]*a[1][2]*a[2][0]-a[5][1]*a[4][5]*a[1][4]*a[2][0]*a[0][2]+a[5][1]*a[4][5]*a[2][4]*a[1][0]*a[0][2]-a[5][1]*a[1][5]*a[0][0]*a[4][4]*a[2][2]+a[5][1]*a[1][5]*a[0][0]*a[4][2]*a[2][4]+a[5][1]*a[1][5]*a[4][0]*a[0][4]*a[2][2]+a[5][1]*a[1][5]*a[2][0]*a[0][2]*a[4][4]-a[5][1]*a[1][5]*a[4][0]*a[0][2]*a[2][4]-a[5][1]*a[1][5]*a[4][2]*a[2][0]*a[0][4]-a[5][1]*a[0][5]*a[2][4]*a[4][2]*a[1][0]+a[5][1]*a[2][5]*a[0][0]*a[1][2]*a[4][4]-a[5][1]*a[2][5]*a[0][0]*a[1][4]*a[4][2]-a[5][1]*a[2][5]*a[1][0]*a[0][2]*a[4][4]+a[5][1]*a[2][5]*a[0][4]*a[4][2]*a[1][0]+a[5][1]*a[2][5]*a[1][4]*a[4][0]*a[0][2]-a[5][1]*a[2][5]*a[0][4]*a[4][0]*a[1][2]+a[5][2]*a[4][5]*a[0][0]*a[2][4]*a[1][1]-a[5][2]*a[4][5]*a[0][0]*a[1][4]*a[2][1]-a[5][2]*a[4][5]*a[0][4]*a[2][0]*a[1][1]+a[5][2]*a[4][5]*a[1][4]*a[2][0]*a[0][1]+a[5][2]*a[4][5]*a[0][4]*a[1][0]*a[2][1]-a[5][2]*a[4][5]*a[2][4]*a[1][0]*a[0][1]-a[5][0]*a[0][5]*a[1][1]*a[4][4]*a[2][2]+a[5][0]*a[0][5]*a[1][1]*a[4][2]*a[2][4]+a[5][0]*a[0][5]*a[4][1]*a[1][4]*a[2][2]+a[5][0]*a[0][5]*a[2][1]*a[1][2]*a[4][4]-a[5][0]*a[0][5]*a[4][2]*a[2][1]*a[1][4]-a[5][0]*a[0][5]*a[2][4]*a[4][1]*a[1][2]+a[5][5]*a[0][0]*a[1][1]*a[4][4]*a[2][2]-a[5][5]*a[0][0]*a[1][1]*a[4][2]*a[2][4]-a[5][5]*a[0][0]*a[4][1]*a[1][4]*a[2][2]+a[5][5]*a[0][0]*a[4][1]*a[1][2]*a[2][4]-a[5][5]*a[0][0]*a[2][1]*a[1][2]*a[4][4]+a[5][5]*a[0][0]*a[4][2]*a[2][1]*a[1][4]-a[5][5]*a[1][1]*a[4][0]*a[0][4]*a[2][2]+a[5][5]*a[1][1]*a[4][2]*a[2][0]*a[0][4]+a[5][5]*a[1][1]*a[4][0]*a[0][2]*a[2][4]-a[5][5]*a[1][1]*a[2][0]*a[0][2]*a[4][4]-a[5][5]*a[2][2]*a[1][0]*a[0][1]*a[4][4]+a[5][5]*a[2][2]*a[4][1]*a[1][0]*a[0][4]+a[5][5]*a[2][2]*a[4][0]*a[0][1]*a[1][4]-a[5][5]*a[4][0]*a[0][1]*a[1][2]*a[2][4]+a[5][5]*a[2][0]*a[0][2]*a[4][1]*a[1][4]+a[5][5]*a[2][1]*a[1][2]*a[4][0]*a[0][4]+a[5][5]*a[2][1]*a[1][0]*a[0][2]*a[4][4]-a[5][5]*a[4][0]*a[0][2]*a[2][1]*a[1][4]+a[5][5]*a[2][0]*a[0][1]*a[1][2]*a[4][4]+a[5][5]*a[4][2]*a[1][0]*a[0][1]*a[2][4]-a[5][5]*a[4][1]*a[1][2]*a[2][0]*a[0][4]-a[5][5]*a[4][2]*a[2][1]*a[1][0]*a[0][4]-a[5][5]*a[4][1]*a[1][0]*a[0][2]*a[2][4]-a[5][5]*a[4][2]*a[2][0]*a[0][1]*a[1][4]-a[5][2]*a[2][5]*a[0][0]*a[4][4]*a[1][1]+a[5][2]*a[2][5]*a[0][0]*a[4][1]*a[1][4]+a[5][2]*a[2][5]*a[4][0]*a[0][4]*a[1][1]+a[5][2]*a[2][5]*a[1][0]*a[0][1]*a[4][4]-a[5][2]*a[2][5]*a[4][0]*a[0][1]*a[1][4]-a[5][2]*a[2][5]*a[4][1]*a[1][0]*a[0][4]-a[5][4]*a[4][5]*a[0][0]*a[1][1]*a[2][2]+a[5][4]*a[4][5]*a[0][0]*a[2][1]*a[1][2]+a[5][4]*a[4][5]*a[1][1]*a[2][0]*a[0][2]+a[5][4]*a[4][5]*a[1][0]*a[0][1]*a[2][2]-a[5][4]*a[4][5]*a[2][0]*a[0][1]*a[1][2]-a[5][4]*a[4][5]*a[2][1]*a[1][0]*a[0][2]+a[5][2]*a[1][5]*a[0][0]*a[2][1]*a[4][4]-a[5][2]*a[1][5]*a[0][0]*a[2][4]*a[4][1]-a[5][2]*a[1][5]*a[2][0]*a[0][1]*a[4][4]+a[5][2]*a[1][5]*a[2][4]*a[4][0]*a[0][1]+a[5][2]*a[1][5]*a[0][4]*a[4][1]*a[2][0]-a[5][2]*a[1][5]*a[0][4]*a[4][0]*a[2][1]+a[5][4]*a[0][5]*a[1][1]*a[4][0]*a[2][2]-a[5][4]*a[0][5]*a[1][1]*a[4][2]*a[2][0]-a[5][4]*a[0][5]*a[4][1]*a[1][0]*a[2][2]+a[5][4]*a[0][5]*a[4][2]*a[1][0]*a[2][1]-a[5][4]*a[0][5]*a[4][0]*a[2][1]*a[1][2]+a[5][4]*a[0][5]*a[4][1]*a[1][2]*a[2][0]-a[5][4]*a[2][5]*a[0][0]*a[4][1]*a[1][2]+a[5][4]*a[2][5]*a[0][0]*a[1][1]*a[4][2]+a[5][4]*a[2][5]*a[4][1]*a[1][0]*a[0][2]-a[5][4]*a[2][5]*a[1][1]*a[4][0]*a[0][2]-a[5][4]*a[2][5]*a[1][0]*a[0][1]*a[4][2]+a[5][4]*a[2][5]*a[4][0]*a[0][1]*a[1][2]+a[5][4]*a[1][5]*a[0][0]*a[4][1]*a[2][2]-a[5][4]*a[1][5]*a[0][0]*a[4][2]*a[2][1]-a[5][4]*a[1][5]*a[4][0]*a[0][1]*a[2][2]+a[5][4]*a[1][5]*a[4][2]*a[2][0]*a[0][1]-a[5][4]*a[1][5]*a[4][1]*a[2][0]*a[0][2]+a[5][4]*a[1][5]*a[4][0]*a[0][2]*a[2][1]+a[5][2]*a[0][5]*a[1][1]*a[2][0]*a[4][4]-a[5][2]*a[0][5]*a[1][1]*a[2][4]*a[4][0]-a[5][2]*a[0][5]*a[1][0]*a[2][1]*a[4][4]+a[5][2]*a[0][5]*a[1][4]*a[4][0]*a[2][1]-a[5][2]*a[0][5]*a[1][4]*a[4][1]*a[2][0]+a[5][2]*a[0][5]*a[4][1]*a[2][4]*a[1][0]+a[5][0]*a[2][5]*a[1][1]*a[0][2]*a[4][4]-a[5][0]*a[2][5]*a[1][1]*a[0][4]*a[4][2]-a[5][0]*a[2][5]*a[0][1]*a[1][2]*a[4][4]-a[5][0]*a[2][5]*a[1][4]*a[4][1]*a[0][2]+a[5][0]*a[2][5]*a[1][4]*a[4][2]*a[0][1]+a[5][0]*a[2][5]*a[0][4]*a[4][1]*a[1][2]+a[5][0]*a[1][5]*a[2][2]*a[0][1]*a[4][4]-a[5][0]*a[1][5]*a[2][2]*a[0][4]*a[4][1]-a[5][0]*a[1][5]*a[0][2]*a[2][1]*a[4][4])/det;
    ainv[4][3] = (a[5][2]*a[0][5]*a[1][0]*a[2][1]*a[4][3]+a[5][2]*a[1][5]*a[0][0]*a[4][1]*a[2][3]-a[5][2]*a[1][5]*a[0][0]*a[2][1]*a[4][3]+a[5][2]*a[1][5]*a[2][1]*a[4][0]*a[0][3]-a[5][2]*a[1][5]*a[4][0]*a[0][1]*a[2][3]+a[5][2]*a[1][5]*a[2][0]*a[0][1]*a[4][3]-a[5][2]*a[1][5]*a[4][1]*a[2][0]*a[0][3]+a[5][0]*a[1][5]*a[2][2]*a[4][1]*a[0][3]-a[5][0]*a[1][5]*a[2][2]*a[0][1]*a[4][3]+a[5][0]*a[1][5]*a[0][1]*a[4][2]*a[2][3]-a[5][0]*a[1][5]*a[4][2]*a[2][1]*a[0][3]-a[5][0]*a[1][5]*a[4][1]*a[0][2]*a[2][3]+a[5][0]*a[1][5]*a[0][2]*a[2][1]*a[4][3]-a[5][0]*a[2][5]*a[1][1]*a[0][2]*a[4][3]+a[5][0]*a[2][5]*a[1][1]*a[4][2]*a[0][3]-a[5][0]*a[2][5]*a[4][2]*a[0][1]*a[1][3]-a[5][0]*a[2][5]*a[4][1]*a[1][2]*a[0][3]+a[5][0]*a[2][5]*a[0][2]*a[4][1]*a[1][3]+a[5][0]*a[2][5]*a[0][1]*a[1][2]*a[4][3]+a[5][2]*a[2][5]*a[0][0]*a[4][3]*a[1][1]-a[5][2]*a[2][5]*a[0][0]*a[4][1]*a[1][3]-a[5][2]*a[2][5]*a[4][0]*a[0][3]*a[1][1]-a[5][2]*a[2][5]*a[1][0]*a[0][1]*a[4][3]+a[5][2]*a[2][5]*a[4][1]*a[1][0]*a[0][3]+a[5][2]*a[2][5]*a[4][0]*a[0][1]*a[1][3]+a[5][5]*a[0][0]*a[2][2]*a[4][1]*a[1][3]+a[5][5]*a[0][0]*a[2][1]*a[1][2]*a[4][3]+a[5][5]*a[1][1]*a[2][0]*a[0][2]*a[4][3]-a[5][5]*a[1][1]*a[4][2]*a[2][0]*a[0][3]-a[5][5]*a[1][1]*a[4][0]*a[0][2]*a[2][3]+a[5][5]*a[1][1]*a[2][2]*a[4][0]*a[0][3]+a[5][5]*a[4][0]*a[0][2]*a[2][1]*a[1][3]+a[5][5]*a[4][0]*a[0][1]*a[1][2]*a[2][3]-a[5][5]*a[4][2]*a[1][0]*a[0][1]*a[2][3]+a[5][5]*a[4][2]*a[2][0]*a[0][1]*a[1][3]-a[5][5]*a[2][2]*a[4][1]*a[1][0]*a[0][3]-a[5][5]*a[2][1]*a[1][2]*a[4][0]*a[0][3]-a[5][5]*a[2][1]*a[1][0]*a[0][2]*a[4][3]+a[5][5]*a[2][2]*a[1][0]*a[0][1]*a[4][3]-a[5][5]*a[2][2]*a[4][0]*a[0][1]*a[1][3]-a[5][5]*a[2][0]*a[0][1]*a[1][2]*a[4][3]-a[5][5]*a[2][0]*a[0][2]*a[4][1]*a[1][3]+a[5][5]*a[4][1]*a[1][2]*a[2][0]*a[0][3]+a[5][5]*a[4][2]*a[2][1]*a[1][0]*a[0][3]+a[5][5]*a[4][1]*a[1][0]*a[0][2]*a[2][3]+a[5][0]*a[0][5]*a[1][1]*a[4][3]*a[2][2]-a[5][0]*a[0][5]*a[1][1]*a[4][2]*a[2][3]-a[5][0]*a[0][5]*a[4][1]*a[1][3]*a[2][2]+a[5][0]*a[0][5]*a[4][2]*a[2][1]*a[1][3]-a[5][0]*a[0][5]*a[2][1]*a[1][2]*a[4][3]+a[5][0]*a[0][5]*a[4][1]*a[1][2]*a[2][3]+a[5][1]*a[1][5]*a[0][0]*a[4][3]*a[2][2]-a[5][1]*a[1][5]*a[0][0]*a[4][2]*a[2][3]-a[5][1]*a[1][5]*a[4][0]*a[0][3]*a[2][2]+a[5][1]*a[1][5]*a[4][2]*a[2][0]*a[0][3]-a[5][1]*a[1][5]*a[2][0]*a[0][2]*a[4][3]+a[5][1]*a[1][5]*a[4][0]*a[0][2]*a[2][3]-a[5][3]*a[0][5]*a[1][1]*a[4][0]*a[2][2]+a[5][3]*a[0][5]*a[1][1]*a[4][2]*a[2][0]+a[5][3]*a[0][5]*a[4][1]*a[1][0]*a[2][2]-a[5][3]*a[0][5]*a[4][1]*a[1][2]*a[2][0]-a[5][3]*a[0][5]*a[4][2]*a[2][1]*a[1][0]+a[5][3]*a[0][5]*a[2][1]*a[1][2]*a[4][0]+a[5][1]*a[2][5]*a[0][0]*a[4][2]*a[1][3]-a[5][1]*a[2][5]*a[0][0]*a[1][2]*a[4][3]-a[5][1]*a[2][5]*a[4][0]*a[0][2]*a[1][3]+a[5][1]*a[2][5]*a[1][0]*a[0][2]*a[4][3]-a[5][1]*a[2][5]*a[4][2]*a[1][0]*a[0][3]+a[5][1]*a[2][5]*a[1][2]*a[4][0]*a[0][3]-a[5][3]*a[1][5]*a[0][0]*a[4][1]*a[2][2]+a[5][3]*a[1][5]*a[0][0]*a[4][2]*a[2][1]+a[5][3]*a[1][5]*a[4][0]*a[0][1]*a[2][2]-a[5][3]*a[1][5]*a[4][2]*a[2][0]*a[0][1]+a[5][3]*a[1][5]*a[2][0]*a[0][2]*a[4][1]-a[5][3]*a[1][5]*a[4][0]*a[0][2]*a[2][1]-a[5][2]*a[4][5]*a[0][0]*a[1][1]*a[2][3]+a[5][2]*a[4][5]*a[0][0]*a[2][1]*a[1][3]+a[5][2]*a[4][5]*a[1][1]*a[2][0]*a[0][3]-a[5][2]*a[4][5]*a[2][0]*a[0][1]*a[1][3]+a[5][2]*a[4][5]*a[1][0]*a[0][1]*a[2][3]-a[5][2]*a[4][5]*a[2][1]*a[1][0]*a[0][3]-a[5][3]*a[4][5]*a[0][0]*a[2][1]*a[1][2]+a[5][3]*a[4][5]*a[0][0]*a[1][1]*a[2][2]+a[5][3]*a[4][5]*a[2][1]*a[1][0]*a[0][2]-a[5][3]*a[4][5]*a[1][1]*a[2][0]*a[0][2]-a[5][3]*a[4][5]*a[1][0]*a[0][1]*a[2][2]+a[5][3]*a[4][5]*a[2][0]*a[0][1]*a[1][2]-a[5][1]*a[4][5]*a[0][0]*a[2][2]*a[1][3]+a[5][1]*a[4][5]*a[0][0]*a[1][2]*a[2][3]+a[5][1]*a[4][5]*a[2][2]*a[1][0]*a[0][3]-a[5][1]*a[4][5]*a[1][0]*a[0][2]*a[2][3]+a[5][1]*a[4][5]*a[2][0]*a[0][2]*a[1][3]-a[5][1]*a[4][5]*a[1][2]*a[2][0]*a[0][3]-a[5][3]*a[2][5]*a[0][0]*a[1][1]*a[4][2]+a[5][3]*a[2][5]*a[0][0]*a[4][1]*a[1][2]+a[5][3]*a[2][5]*a[1][1]*a[4][0]*a[0][2]-a[5][3]*a[2][5]*a[4][1]*a[1][0]*a[0][2]+a[5][3]*a[2][5]*a[1][0]*a[0][1]*a[4][2]-a[5][3]*a[2][5]*a[4][0]*a[0][1]*a[1][2]-a[5][0]*a[4][5]*a[1][1]*a[2][2]*a[0][3]+a[5][0]*a[4][5]*a[1][1]*a[0][2]*a[2][3]+a[5][0]*a[4][5]*a[2][2]*a[0][1]*a[1][3]+a[5][0]*a[4][5]*a[2][1]*a[1][2]*a[0][3]-a[5][0]*a[4][5]*a[0][2]*a[2][1]*a[1][3]-a[5][0]*a[4][5]*a[0][1]*a[1][2]*a[2][3]-a[5][1]*a[0][5]*a[2][2]*a[1][0]*a[4][3]+a[5][1]*a[0][5]*a[2][2]*a[4][0]*a[1][3]-a[5][1]*a[0][5]*a[4][0]*a[1][2]*a[2][3]+a[5][1]*a[0][5]*a[1][0]*a[4][2]*a[2][3]+a[5][1]*a[0][5]*a[1][2]*a[2][0]*a[4][3]-a[5][1]*a[0][5]*a[4][2]*a[2][0]*a[1][3]-a[5][2]*a[0][5]*a[1][1]*a[2][0]*a[4][3]+a[5][2]*a[0][5]*a[1][1]*a[4][0]*a[2][3]-a[5][2]*a[0][5]*a[4][1]*a[1][0]*a[2][3]+a[5][2]*a[0][5]*a[2][0]*a[4][1]*a[1][3]-a[5][2]*a[0][5]*a[4][0]*a[2][1]*a[1][3]+a[5][5]*a[0][0]*a[1][1]*a[4][2]*a[2][3]-a[5][5]*a[0][0]*a[1][1]*a[2][2]*a[4][3]-a[5][5]*a[0][0]*a[4][1]*a[1][2]*a[2][3]-a[5][5]*a[0][0]*a[4][2]*a[2][1]*a[1][3])/det;
    ainv[5][3] = (a[5][1]*a[1][4]*a[4][0]*a[2][2]*a[0][3]-a[5][1]*a[1][4]*a[4][0]*a[0][2]*a[2][3]+a[5][1]*a[2][4]*a[4][3]*a[0][0]*a[1][2]-a[5][1]*a[2][4]*a[4][3]*a[1][0]*a[0][2]-a[5][0]*a[1][4]*a[4][1]*a[2][2]*a[0][3]+a[5][0]*a[1][4]*a[4][1]*a[0][2]*a[2][3]-a[5][3]*a[1][4]*a[4][0]*a[0][1]*a[2][2]+a[5][3]*a[1][4]*a[4][0]*a[0][2]*a[2][1]+a[5][0]*a[1][4]*a[4][2]*a[2][1]*a[0][3]-a[5][0]*a[1][4]*a[4][2]*a[2][3]*a[0][1]-a[5][3]*a[1][4]*a[4][2]*a[0][0]*a[2][1]+a[5][3]*a[1][4]*a[4][2]*a[2][0]*a[0][1]-a[4][3]*a[1][4]*a[5][1]*a[0][0]*a[2][2]+a[4][3]*a[1][4]*a[5][1]*a[2][0]*a[0][2]+a[4][2]*a[1][4]*a[5][1]*a[2][3]*a[0][0]-a[4][2]*a[1][4]*a[5][1]*a[2][0]*a[0][3]-a[5][2]*a[4][4]*a[0][0]*a[2][1]*a[1][3]+a[5][2]*a[4][4]*a[0][0]*a[1][1]*a[2][3]+a[5][2]*a[4][4]*a[2][1]*a[1][0]*a[0][3]-a[5][2]*a[4][4]*a[1][1]*a[2][0]*a[0][3]-a[5][2]*a[4][4]*a[1][0]*a[0][1]*a[2][3]+a[5][2]*a[4][4]*a[2][0]*a[0][1]*a[1][3]-a[5][1]*a[4][4]*a[0][0]*a[1][2]*a[2][3]-a[5][1]*a[4][4]*a[2][2]*a[1][0]*a[0][3]-a[5][1]*a[4][4]*a[2][0]*a[0][2]*a[1][3]+a[5][1]*a[4][4]*a[1][0]*a[0][2]*a[2][3]+a[5][1]*a[4][4]*a[1][2]*a[2][0]*a[0][3]-a[4][1]*a[5][4]*a[0][0]*a[2][2]*a[1][3]+a[4][1]*a[5][4]*a[0][0]*a[1][2]*a[2][3]+a[4][1]*a[5][4]*a[2][2]*a[1][0]*a[0][3]-a[4][1]*a[5][4]*a[1][2]*a[2][0]*a[0][3]+a[4][1]*a[5][4]*a[2][0]*a[0][2]*a[1][3]-a[4][1]*a[5][4]*a[1][0]*a[0][2]*a[2][3]-a[5][3]*a[4][4]*a[0][0]*a[1][1]*a[2][2]+a[5][3]*a[4][4]*a[0][0]*a[2][1]*a[1][2]+a[5][3]*a[4][4]*a[1][1]*a[2][0]*a[0][2]+a[5][3]*a[4][4]*a[1][0]*a[0][1]*a[2][2]-a[5][3]*a[4][4]*a[2][0]*a[0][1]*a[1][2]-a[5][3]*a[4][4]*a[2][1]*a[1][0]*a[0][2]-a[5][0]*a[4][4]*a[1][1]*a[0][2]*a[2][3]+a[5][0]*a[4][4]*a[0][2]*a[2][1]*a[1][3]-a[5][0]*a[4][4]*a[2][2]*a[0][1]*a[1][3]-a[5][0]*a[4][4]*a[2][1]*a[1][2]*a[0][3]+a[5][0]*a[4][4]*a[0][1]*a[1][2]*a[2][3]-a[4][3]*a[5][4]*a[0][0]*a[2][1]*a[1][2]+a[4][3]*a[5][4]*a[0][0]*a[1][1]*a[2][2]+a[4][3]*a[5][4]*a[2][1]*a[1][0]*a[0][2]-a[4][3]*a[5][4]*a[1][1]*a[2][0]*a[0][2]-a[4][3]*a[5][4]*a[1][0]*a[0][1]*a[2][2]+a[4][3]*a[5][4]*a[2][0]*a[0][1]*a[1][2]-a[4][2]*a[5][4]*a[0][0]*a[1][1]*a[2][3]+a[5][1]*a[4][4]*a[0][0]*a[2][2]*a[1][3]+a[5][0]*a[4][4]*a[1][1]*a[2][2]*a[0][3]-a[5][0]*a[0][4]*a[4][3]*a[2][2]*a[1][1]+a[5][0]*a[0][4]*a[4][3]*a[2][1]*a[1][2]-a[4][0]*a[2][4]*a[5][3]*a[0][2]*a[1][1]+a[4][0]*a[2][4]*a[5][3]*a[0][1]*a[1][2]-a[5][2]*a[0][4]*a[4][0]*a[2][3]*a[1][1]+a[5][2]*a[0][4]*a[4][0]*a[2][1]*a[1][3]-a[5][1]*a[2][4]*a[4][0]*a[0][3]*a[1][2]+a[5][1]*a[2][4]*a[4][0]*a[1][3]*a[0][2]-a[5][0]*a[2][4]*a[4][2]*a[0][3]*a[1][1]+a[5][0]*a[2][4]*a[4][2]*a[0][1]*a[1][3]-a[5][1]*a[2][4]*a[4][2]*a[0][0]*a[1][3]+a[5][1]*a[2][4]*a[4][2]*a[1][0]*a[0][3]-a[5][3]*a[2][4]*a[4][1]*a[0][0]*a[1][2]+a[5][3]*a[2][4]*a[4][1]*a[1][0]*a[0][2]+a[5][3]*a[2][4]*a[4][2]*a[0][0]*a[1][1]-a[5][3]*a[2][4]*a[4][2]*a[1][0]*a[0][1]+a[5][0]*a[0][4]*a[4][2]*a[2][3]*a[1][1]-a[5][0]*a[0][4]*a[4][2]*a[2][1]*a[1][3]-a[5][3]*a[0][4]*a[4][2]*a[2][0]*a[1][1]+a[5][3]*a[0][4]*a[4][2]*a[1][0]*a[2][1]-a[5][2]*a[1][4]*a[4][1]*a[2][3]*a[0][0]+a[5][2]*a[1][4]*a[4][1]*a[2][0]*a[0][3]+a[5][2]*a[2][4]*a[4][1]*a[0][0]*a[1][3]-a[5][2]*a[2][4]*a[4][1]*a[1][0]*a[0][3]+a[4][0]*a[2][4]*a[5][2]*a[0][3]*a[1][1]-a[4][0]*a[2][4]*a[5][2]*a[0][1]*a[1][3]-a[5][1]*a[0][4]*a[4][0]*a[2][2]*a[1][3]+a[5][1]*a[0][4]*a[4][0]*a[1][2]*a[2][3]+a[4][3]*a[1][4]*a[5][0]*a[0][1]*a[2][2]-a[4][3]*a[1][4]*a[5][0]*a[0][2]*a[2][1]-a[4][3]*a[2][4]*a[5][2]*a[0][0]*a[1][1]+a[4][3]*a[2][4]*a[5][2]*a[1][0]*a[0][1]+a[5][2]*a[0][4]*a[4][1]*a[2][3]*a[1][0]-a[5][2]*a[0][4]*a[4][1]*a[2][0]*a[1][3]+a[5][1]*a[0][4]*a[4][3]*a[1][0]*a[2][2]-a[5][1]*a[0][4]*a[4][3]*a[1][2]*a[2][0]+a[5][2]*a[1][4]*a[4][0]*a[2][3]*a[0][1]-a[5][2]*a[1][4]*a[4][0]*a[2][1]*a[0][3]+a[5][3]*a[0][4]*a[4][0]*a[2][2]*a[1][1]-a[5][3]*a[0][4]*a[4][0]*a[2][1]*a[1][2]+a[5][2]*a[0][4]*a[4][3]*a[2][0]*a[1][1]-a[5][2]*a[0][4]*a[4][3]*a[1][0]*a[2][1]-a[5][3]*a[0][4]*a[4][1]*a[1][0]*a[2][2]+a[5][3]*a[0][4]*a[4][1]*a[1][2]*a[2][0]+a[5][0]*a[0][4]*a[4][1]*a[2][2]*a[1][3]-a[5][0]*a[0][4]*a[4][1]*a[1][2]*a[2][3]+a[5][2]*a[1][4]*a[4][3]*a[0][0]*a[2][1]-a[5][2]*a[1][4]*a[4][3]*a[2][0]*a[0][1]+a[5][3]*a[1][4]*a[4][1]*a[0][0]*a[2][2]-a[5][3]*a[1][4]*a[4][1]*a[2][0]*a[0][2]+a[4][2]*a[5][4]*a[0][0]*a[2][1]*a[1][3]+a[4][2]*a[5][4]*a[1][1]*a[2][0]*a[0][3]+a[4][2]*a[5][4]*a[1][0]*a[0][1]*a[2][3]-a[4][2]*a[5][4]*a[2][0]*a[0][1]*a[1][3]-a[4][2]*a[5][4]*a[2][1]*a[1][0]*a[0][3]-a[4][0]*a[5][4]*a[1][1]*a[2][2]*a[0][3]+a[4][0]*a[5][4]*a[1][1]*a[0][2]*a[2][3]-a[4][0]*a[5][4]*a[0][2]*a[2][1]*a[1][3]+a[4][0]*a[5][4]*a[2][2]*a[0][1]*a[1][3]+a[4][0]*a[5][4]*a[2][1]*a[1][2]*a[0][3]-a[4][0]*a[5][4]*a[0][1]*a[1][2]*a[2][3]+a[4][3]*a[2][4]*a[5][0]*a[0][2]*a[1][1]-a[4][3]*a[2][4]*a[5][0]*a[0][1]*a[1][2]+a[5][0]*a[2][4]*a[4][1]*a[0][3]*a[1][2]-a[5][0]*a[2][4]*a[4][1]*a[1][3]*a[0][2]-a[5][1]*a[0][4]*a[4][2]*a[2][3]*a[1][0]+a[5][1]*a[0][4]*a[4][2]*a[2][0]*a[1][3])/det;    
        
    ainv[0][4] = (a[5][2]*a[3][5]*a[1][1]*a[0][3]*a[2][4]-a[5][2]*a[3][5]*a[1][1]*a[2][3]*a[0][4]-a[5][2]*a[3][5]*a[0][3]*a[2][1]*a[1][4]-a[5][2]*a[3][5]*a[0][1]*a[1][3]*a[2][4]+a[5][2]*a[3][5]*a[2][1]*a[1][3]*a[0][4]+a[5][2]*a[3][5]*a[2][3]*a[0][1]*a[1][4]+a[5][1]*a[3][5]*a[2][2]*a[0][3]*a[1][4]-a[5][1]*a[3][5]*a[2][2]*a[1][3]*a[0][4]+a[5][1]*a[3][5]*a[1][2]*a[2][3]*a[0][4]-a[5][1]*a[3][5]*a[0][3]*a[1][2]*a[2][4]+a[5][1]*a[3][5]*a[1][3]*a[0][2]*a[2][4]-a[5][1]*a[3][5]*a[0][2]*a[2][3]*a[1][4]+a[5][3]*a[3][5]*a[1][1]*a[0][4]*a[2][2]-a[5][3]*a[3][5]*a[1][1]*a[0][2]*a[2][4]-a[5][3]*a[3][5]*a[0][1]*a[1][4]*a[2][2]+a[5][3]*a[3][5]*a[0][1]*a[1][2]*a[2][4]+a[5][3]*a[3][5]*a[0][2]*a[2][1]*a[1][4]-a[5][3]*a[3][5]*a[2][1]*a[1][2]*a[0][4]-a[5][3]*a[1][5]*a[2][2]*a[3][1]*a[0][4]+a[5][3]*a[1][5]*a[2][2]*a[0][1]*a[3][4]+a[5][3]*a[1][5]*a[3][2]*a[2][1]*a[0][4]-a[5][3]*a[1][5]*a[0][1]*a[3][2]*a[2][4]-a[5][3]*a[1][5]*a[0][2]*a[2][1]*a[3][4]+a[5][3]*a[1][5]*a[3][1]*a[0][2]*a[2][4]-a[5][3]*a[2][5]*a[1][1]*a[3][2]*a[0][4]+a[5][3]*a[2][5]*a[1][1]*a[0][2]*a[3][4]-a[5][3]*a[2][5]*a[0][1]*a[1][2]*a[3][4]+a[5][3]*a[2][5]*a[3][2]*a[0][1]*a[1][4]+a[5][3]*a[2][5]*a[3][1]*a[1][2]*a[0][4]-a[5][3]*a[2][5]*a[0][2]*a[3][1]*a[1][4]-a[5][4]*a[2][5]*a[1][1]*a[0][2]*a[3][3]+a[5][4]*a[2][5]*a[1][1]*a[0][3]*a[3][2]+a[5][4]*a[2][5]*a[0][1]*a[1][2]*a[3][3]-a[5][4]*a[2][5]*a[0][3]*a[3][1]*a[1][2]+a[5][4]*a[2][5]*a[0][2]*a[3][1]*a[1][3]-a[5][4]*a[2][5]*a[0][1]*a[1][3]*a[3][2]-a[5][4]*a[3][5]*a[1][1]*a[2][2]*a[0][3]+a[5][4]*a[3][5]*a[1][1]*a[0][2]*a[2][3]+a[5][4]*a[3][5]*a[2][2]*a[0][1]*a[1][3]-a[5][4]*a[3][5]*a[0][2]*a[2][1]*a[1][3]-a[5][4]*a[3][5]*a[0][1]*a[1][2]*a[2][3]+a[5][4]*a[3][5]*a[2][1]*a[1][2]*a[0][3]-a[5][1]*a[0][5]*a[2][2]*a[1][4]*a[3][3]+a[5][1]*a[0][5]*a[2][2]*a[1][3]*a[3][4]+a[5][1]*a[0][5]*a[1][2]*a[2][4]*a[3][3]+a[5][1]*a[0][5]*a[3][2]*a[2][3]*a[1][4]-a[5][1]*a[0][5]*a[1][3]*a[3][2]*a[2][4]-a[5][1]*a[0][5]*a[1][2]*a[2][3]*a[3][4]-a[5][1]*a[2][5]*a[3][3]*a[1][2]*a[0][4]+a[5][1]*a[2][5]*a[3][3]*a[0][2]*a[1][4]-a[5][1]*a[2][5]*a[0][2]*a[1][3]*a[3][4]-a[5][1]*a[2][5]*a[0][3]*a[3][2]*a[1][4]+a[5][1]*a[2][5]*a[1][2]*a[0][3]*a[3][4]+a[5][1]*a[2][5]*a[1][3]*a[3][2]*a[0][4]+a[5][5]*a[1][1]*a[2][2]*a[0][3]*a[3][4]-a[5][5]*a[1][1]*a[2][2]*a[3][3]*a[0][4]-a[5][5]*a[1][1]*a[0][2]*a[2][3]*a[3][4]+a[5][5]*a[1][1]*a[3][3]*a[0][2]*a[2][4]+a[5][5]*a[1][1]*a[3][2]*a[2][3]*a[0][4]-a[5][5]*a[1][1]*a[0][3]*a[3][2]*a[2][4]+a[5][5]*a[2][2]*a[3][1]*a[1][3]*a[0][4]-a[5][5]*a[2][2]*a[0][3]*a[3][1]*a[1][4]-a[5][5]*a[2][2]*a[0][1]*a[1][3]*a[3][4]+a[5][5]*a[2][2]*a[3][3]*a[0][1]*a[1][4]+a[5][5]*a[0][2]*a[2][3]*a[3][1]*a[1][4]+a[5][5]*a[0][3]*a[3][2]*a[2][1]*a[1][4]+a[5][5]*a[0][1]*a[1][3]*a[3][2]*a[2][4]+a[5][5]*a[0][2]*a[2][1]*a[1][3]*a[3][4]-a[5][5]*a[3][2]*a[2][3]*a[0][1]*a[1][4]-a[5][5]*a[3][3]*a[0][2]*a[2][1]*a[1][4]+a[5][5]*a[3][3]*a[2][1]*a[1][2]*a[0][4]-a[5][5]*a[3][2]*a[2][1]*a[1][3]*a[0][4]+a[5][5]*a[0][3]*a[3][1]*a[1][2]*a[2][4]-a[5][5]*a[3][3]*a[0][1]*a[1][2]*a[2][4]-a[5][5]*a[3][1]*a[1][2]*a[2][3]*a[0][4]-a[5][5]*a[3][1]*a[1][3]*a[0][2]*a[2][4]-a[5][5]*a[0][3]*a[2][1]*a[1][2]*a[3][4]+a[5][5]*a[0][1]*a[1][2]*a[2][3]*a[3][4]+a[5][2]*a[2][5]*a[1][1]*a[0][4]*a[3][3]-a[5][2]*a[2][5]*a[1][1]*a[0][3]*a[3][4]-a[5][2]*a[2][5]*a[0][1]*a[1][4]*a[3][3]+a[5][2]*a[2][5]*a[0][1]*a[1][3]*a[3][4]-a[5][2]*a[2][5]*a[3][1]*a[1][3]*a[0][4]+a[5][2]*a[2][5]*a[0][3]*a[3][1]*a[1][4]+a[5][4]*a[0][5]*a[1][1]*a[3][3]*a[2][2]-a[5][4]*a[0][5]*a[1][1]*a[3][2]*a[2][3]-a[5][4]*a[0][5]*a[3][1]*a[1][3]*a[2][2]-a[5][4]*a[0][5]*a[2][1]*a[1][2]*a[3][3]+a[5][4]*a[0][5]*a[3][1]*a[1][2]*a[2][3]+a[5][4]*a[0][5]*a[3][2]*a[2][1]*a[1][3]+a[5][1]*a[1][5]*a[2][2]*a[0][4]*a[3][3]-a[5][1]*a[1][5]*a[2][2]*a[0][3]*a[3][4]-a[5][1]*a[1][5]*a[0][2]*a[2][4]*a[3][3]+a[5][1]*a[1][5]*a[0][2]*a[2][3]*a[3][4]+a[5][1]*a[1][5]*a[0][3]*a[3][2]*a[2][4]-a[5][1]*a[1][5]*a[3][2]*a[2][3]*a[0][4]-a[5][2]*a[0][5]*a[1][1]*a[2][4]*a[3][3]+a[5][2]*a[0][5]*a[1][1]*a[2][3]*a[3][4]+a[5][2]*a[0][5]*a[2][1]*a[1][4]*a[3][3]-a[5][2]*a[0][5]*a[2][1]*a[1][3]*a[3][4]+a[5][2]*a[0][5]*a[3][1]*a[1][3]*a[2][4]-a[5][2]*a[0][5]*a[2][3]*a[3][1]*a[1][4]-a[5][3]*a[0][5]*a[1][1]*a[3][4]*a[2][2]+a[5][3]*a[0][5]*a[1][1]*a[3][2]*a[2][4]+a[5][3]*a[0][5]*a[3][1]*a[1][4]*a[2][2]+a[5][3]*a[0][5]*a[2][1]*a[1][2]*a[3][4]-a[5][3]*a[0][5]*a[3][1]*a[1][2]*a[2][4]-a[5][3]*a[0][5]*a[3][2]*a[2][1]*a[1][4]-a[5][4]*a[1][5]*a[2][2]*a[0][1]*a[3][3]+a[5][4]*a[1][5]*a[2][2]*a[0][3]*a[3][1]+a[5][4]*a[1][5]*a[0][2]*a[2][1]*a[3][3]-a[5][4]*a[1][5]*a[0][2]*a[2][3]*a[3][1]-a[5][4]*a[1][5]*a[0][3]*a[3][2]*a[2][1]+a[5][4]*a[1][5]*a[0][1]*a[3][2]*a[2][3]-a[5][2]*a[1][5]*a[3][3]*a[2][1]*a[0][4]+a[5][2]*a[1][5]*a[3][3]*a[0][1]*a[2][4]-a[5][2]*a[1][5]*a[0][1]*a[2][3]*a[3][4]+a[5][2]*a[1][5]*a[2][3]*a[3][1]*a[0][4]-a[5][2]*a[1][5]*a[0][3]*a[3][1]*a[2][4]+a[5][2]*a[1][5]*a[2][1]*a[0][3]*a[3][4])/det;
    ainv[1][4] = (a[5][3]*a[2][5]*a[0][0]*a[1][2]*a[3][4]-a[5][3]*a[2][5]*a[0][0]*a[3][2]*a[1][4]+a[5][3]*a[2][5]*a[3][2]*a[1][0]*a[0][4]-a[5][3]*a[2][5]*a[1][0]*a[0][2]*a[3][4]+a[5][3]*a[2][5]*a[3][0]*a[0][2]*a[1][4]-a[5][3]*a[2][5]*a[1][2]*a[3][0]*a[0][4]+a[5][2]*a[2][5]*a[0][0]*a[1][4]*a[3][3]-a[5][2]*a[2][5]*a[0][0]*a[1][3]*a[3][4]-a[5][2]*a[2][5]*a[1][0]*a[0][4]*a[3][3]-a[5][2]*a[2][5]*a[3][0]*a[0][3]*a[1][4]+a[5][2]*a[2][5]*a[1][0]*a[0][3]*a[3][4]+a[5][2]*a[2][5]*a[1][3]*a[3][0]*a[0][4]-a[5][4]*a[2][5]*a[0][0]*a[1][2]*a[3][3]+a[5][4]*a[2][5]*a[0][0]*a[1][3]*a[3][2]+a[5][4]*a[2][5]*a[1][0]*a[0][2]*a[3][3]-a[5][4]*a[2][5]*a[1][3]*a[3][0]*a[0][2]-a[5][4]*a[2][5]*a[1][0]*a[0][3]*a[3][2]+a[5][4]*a[2][5]*a[3][0]*a[0][3]*a[1][2]+a[5][3]*a[0][5]*a[2][2]*a[1][0]*a[3][4]-a[5][3]*a[0][5]*a[2][2]*a[3][0]*a[1][4]-a[5][3]*a[0][5]*a[1][0]*a[3][2]*a[2][4]-a[5][3]*a[0][5]*a[1][2]*a[2][0]*a[3][4]+a[5][3]*a[0][5]*a[3][0]*a[1][2]*a[2][4]+a[5][3]*a[0][5]*a[3][2]*a[2][0]*a[1][4]-a[5][4]*a[3][5]*a[0][0]*a[2][2]*a[1][3]+a[5][4]*a[3][5]*a[0][0]*a[1][2]*a[2][3]+a[5][4]*a[3][5]*a[2][2]*a[1][0]*a[0][3]-a[5][4]*a[3][5]*a[1][0]*a[0][2]*a[2][3]+a[5][4]*a[3][5]*a[2][0]*a[0][2]*a[1][3]-a[5][4]*a[3][5]*a[1][2]*a[2][0]*a[0][3]-a[5][3]*a[1][5]*a[0][0]*a[3][4]*a[2][2]+a[5][3]*a[1][5]*a[0][0]*a[3][2]*a[2][4]+a[5][3]*a[1][5]*a[3][0]*a[0][4]*a[2][2]-a[5][3]*a[1][5]*a[3][0]*a[0][2]*a[2][4]-a[5][3]*a[1][5]*a[3][2]*a[2][0]*a[0][4]+a[5][3]*a[1][5]*a[2][0]*a[0][2]*a[3][4]-a[5][5]*a[0][0]*a[1][3]*a[3][2]*a[2][4]+a[5][5]*a[0][0]*a[3][3]*a[1][2]*a[2][4]-a[5][5]*a[0][0]*a[1][2]*a[2][3]*a[3][4]+a[5][5]*a[2][2]*a[3][3]*a[1][0]*a[0][4]+a[5][5]*a[2][2]*a[3][0]*a[0][3]*a[1][4]-a[5][5]*a[2][2]*a[1][0]*a[0][3]*a[3][4]-a[5][5]*a[2][2]*a[1][3]*a[3][0]*a[0][4]+a[5][5]*a[3][3]*a[2][0]*a[0][2]*a[1][4]-a[5][5]*a[3][3]*a[1][0]*a[0][2]*a[2][4]-a[5][5]*a[3][3]*a[1][2]*a[2][0]*a[0][4]-a[5][5]*a[3][2]*a[2][0]*a[0][3]*a[1][4]+a[5][5]*a[1][0]*a[0][2]*a[2][3]*a[3][4]+a[5][5]*a[1][3]*a[3][0]*a[0][2]*a[2][4]+a[5][5]*a[1][2]*a[2][3]*a[3][0]*a[0][4]-a[5][5]*a[1][3]*a[2][0]*a[0][2]*a[3][4]+a[5][5]*a[1][3]*a[3][2]*a[2][0]*a[0][4]+a[5][5]*a[1][0]*a[0][3]*a[3][2]*a[2][4]+a[5][5]*a[1][2]*a[2][0]*a[0][3]*a[3][4]-a[5][5]*a[3][2]*a[2][3]*a[1][0]*a[0][4]-a[5][5]*a[3][0]*a[0][3]*a[1][2]*a[2][4]-a[5][5]*a[3][0]*a[0][2]*a[2][3]*a[1][4]-a[5][4]*a[0][5]*a[2][2]*a[1][0]*a[3][3]+a[5][4]*a[0][5]*a[2][2]*a[1][3]*a[3][0]+a[5][4]*a[0][5]*a[1][2]*a[2][0]*a[3][3]-a[5][4]*a[0][5]*a[1][2]*a[2][3]*a[3][0]+a[5][4]*a[0][5]*a[3][2]*a[2][3]*a[1][0]-a[5][4]*a[0][5]*a[1][3]*a[3][2]*a[2][0]-a[5][0]*a[2][5]*a[3][3]*a[0][2]*a[1][4]+a[5][0]*a[2][5]*a[3][3]*a[1][2]*a[0][4]+a[5][0]*a[2][5]*a[0][2]*a[1][3]*a[3][4]-a[5][0]*a[2][5]*a[1][2]*a[0][3]*a[3][4]+a[5][0]*a[2][5]*a[0][3]*a[3][2]*a[1][4]-a[5][0]*a[2][5]*a[1][3]*a[3][2]*a[0][4]+a[5][4]*a[1][5]*a[0][0]*a[3][3]*a[2][2]-a[5][4]*a[1][5]*a[0][0]*a[3][2]*a[2][3]-a[5][4]*a[1][5]*a[3][0]*a[0][3]*a[2][2]-a[5][4]*a[1][5]*a[2][0]*a[0][2]*a[3][3]+a[5][4]*a[1][5]*a[3][0]*a[0][2]*a[2][3]+a[5][4]*a[1][5]*a[3][2]*a[2][0]*a[0][3]+a[5][2]*a[3][5]*a[0][0]*a[1][3]*a[2][4]-a[5][2]*a[3][5]*a[0][0]*a[2][3]*a[1][4]-a[5][2]*a[3][5]*a[1][0]*a[0][3]*a[2][4]+a[5][2]*a[3][5]*a[2][0]*a[0][3]*a[1][4]-a[5][2]*a[3][5]*a[1][3]*a[2][0]*a[0][4]+a[5][2]*a[3][5]*a[2][3]*a[1][0]*a[0][4]+a[5][3]*a[3][5]*a[0][0]*a[1][4]*a[2][2]-a[5][3]*a[3][5]*a[0][0]*a[1][2]*a[2][4]-a[5][3]*a[3][5]*a[1][0]*a[0][4]*a[2][2]+a[5][3]*a[3][5]*a[1][2]*a[2][0]*a[0][4]-a[5][3]*a[3][5]*a[2][0]*a[0][2]*a[1][4]+a[5][3]*a[3][5]*a[1][0]*a[0][2]*a[2][4]+a[5][0]*a[3][5]*a[2][2]*a[1][3]*a[0][4]-a[5][0]*a[3][5]*a[2][2]*a[0][3]*a[1][4]-a[5][0]*a[3][5]*a[1][2]*a[2][3]*a[0][4]+a[5][0]*a[3][5]*a[0][3]*a[1][2]*a[2][4]-a[5][0]*a[3][5]*a[1][3]*a[0][2]*a[2][4]+a[5][0]*a[3][5]*a[0][2]*a[2][3]*a[1][4]+a[5][0]*a[0][5]*a[2][2]*a[1][4]*a[3][3]-a[5][0]*a[0][5]*a[2][2]*a[1][3]*a[3][4]-a[5][0]*a[0][5]*a[1][2]*a[2][4]*a[3][3]+a[5][0]*a[0][5]*a[1][2]*a[2][3]*a[3][4]-a[5][0]*a[0][5]*a[3][2]*a[2][3]*a[1][4]+a[5][0]*a[0][5]*a[1][3]*a[3][2]*a[2][4]+a[5][2]*a[0][5]*a[3][3]*a[1][0]*a[2][4]-a[5][2]*a[0][5]*a[3][3]*a[2][0]*a[1][4]-a[5][2]*a[0][5]*a[1][0]*a[2][3]*a[3][4]-a[5][2]*a[0][5]*a[1][3]*a[3][0]*a[2][4]+a[5][2]*a[0][5]*a[2][0]*a[1][3]*a[3][4]+a[5][2]*a[0][5]*a[2][3]*a[3][0]*a[1][4]-a[5][0]*a[1][5]*a[2][2]*a[0][4]*a[3][3]+a[5][0]*a[1][5]*a[2][2]*a[0][3]*a[3][4]+a[5][0]*a[1][5]*a[0][2]*a[2][4]*a[3][3]-a[5][0]*a[1][5]*a[0][2]*a[2][3]*a[3][4]+a[5][0]*a[1][5]*a[3][2]*a[2][3]*a[0][4]-a[5][0]*a[1][5]*a[0][3]*a[3][2]*a[2][4]-a[5][2]*a[1][5]*a[0][0]*a[2][4]*a[3][3]+a[5][2]*a[1][5]*a[0][0]*a[2][3]*a[3][4]+a[5][2]*a[1][5]*a[2][0]*a[0][4]*a[3][3]-a[5][2]*a[1][5]*a[2][3]*a[3][0]*a[0][4]-a[5][2]*a[1][5]*a[2][0]*a[0][3]*a[3][4]+a[5][2]*a[1][5]*a[3][0]*a[0][3]*a[2][4]-a[5][5]*a[0][0]*a[2][2]*a[3][3]*a[1][4]+a[5][5]*a[0][0]*a[2][2]*a[1][3]*a[3][4]+a[5][5]*a[0][0]*a[3][2]*a[2][3]*a[1][4])/det;
    ainv[2][4] = (a[5][5]*a[0][0]*a[3][3]*a[2][1]*a[1][4]+a[5][5]*a[1][1]*a[3][3]*a[2][0]*a[0][4]-a[5][5]*a[1][1]*a[2][0]*a[0][3]*a[3][4]-a[5][5]*a[1][1]*a[2][3]*a[3][0]*a[0][4]+a[5][5]*a[1][1]*a[3][0]*a[0][3]*a[2][4]-a[5][5]*a[3][3]*a[2][0]*a[0][1]*a[1][4]-a[5][5]*a[3][3]*a[2][1]*a[1][0]*a[0][4]+a[5][5]*a[3][3]*a[1][0]*a[0][1]*a[2][4]+a[5][5]*a[2][3]*a[3][0]*a[0][1]*a[1][4]+a[5][5]*a[2][1]*a[1][0]*a[0][3]*a[3][4]+a[5][5]*a[2][1]*a[1][3]*a[3][0]*a[0][4]+a[5][5]*a[2][0]*a[0][3]*a[3][1]*a[1][4]-a[5][5]*a[3][1]*a[1][3]*a[2][0]*a[0][4]-a[5][5]*a[3][0]*a[0][1]*a[1][3]*a[2][4]-a[5][5]*a[3][1]*a[1][0]*a[0][3]*a[2][4]+a[5][5]*a[2][3]*a[3][1]*a[1][0]*a[0][4]+a[5][5]*a[2][0]*a[0][1]*a[1][3]*a[3][4]-a[5][5]*a[3][0]*a[0][3]*a[2][1]*a[1][4]-a[5][5]*a[2][3]*a[1][0]*a[0][1]*a[3][4]-a[5][4]*a[3][5]*a[0][0]*a[1][1]*a[2][3]+a[5][4]*a[3][5]*a[0][0]*a[2][1]*a[1][3]+a[5][4]*a[3][5]*a[1][1]*a[2][0]*a[0][3]-a[5][4]*a[3][5]*a[2][0]*a[0][1]*a[1][3]-a[5][4]*a[3][5]*a[2][1]*a[1][0]*a[0][3]+a[5][4]*a[3][5]*a[1][0]*a[0][1]*a[2][3]-a[5][5]*a[0][0]*a[1][1]*a[3][3]*a[2][4]+a[5][5]*a[0][0]*a[1][1]*a[2][3]*a[3][4]-a[5][5]*a[0][0]*a[2][1]*a[1][3]*a[3][4]-a[5][5]*a[0][0]*a[2][3]*a[3][1]*a[1][4]+a[5][5]*a[0][0]*a[3][1]*a[1][3]*a[2][4]+a[5][4]*a[2][5]*a[0][0]*a[3][3]*a[1][1]-a[5][4]*a[2][5]*a[0][0]*a[3][1]*a[1][3]-a[5][4]*a[2][5]*a[3][0]*a[0][3]*a[1][1]-a[5][4]*a[2][5]*a[1][0]*a[0][1]*a[3][3]+a[5][4]*a[2][5]*a[3][0]*a[0][1]*a[1][3]+a[5][4]*a[2][5]*a[3][1]*a[1][0]*a[0][3]-a[5][3]*a[2][5]*a[0][0]*a[3][4]*a[1][1]+a[5][3]*a[2][5]*a[0][0]*a[3][1]*a[1][4]+a[5][3]*a[2][5]*a[3][0]*a[0][4]*a[1][1]-a[5][3]*a[2][5]*a[3][0]*a[0][1]*a[1][4]+a[5][3]*a[2][5]*a[1][0]*a[0][1]*a[3][4]-a[5][3]*a[2][5]*a[3][1]*a[1][0]*a[0][4]+a[5][1]*a[0][5]*a[3][3]*a[2][0]*a[1][4]-a[5][1]*a[0][5]*a[3][3]*a[1][0]*a[2][4]-a[5][1]*a[0][5]*a[2][3]*a[3][0]*a[1][4]-a[5][1]*a[0][5]*a[2][0]*a[1][3]*a[3][4]+a[5][1]*a[0][5]*a[1][0]*a[2][3]*a[3][4]+a[5][1]*a[0][5]*a[1][3]*a[3][0]*a[2][4]-a[5][3]*a[1][5]*a[0][0]*a[3][1]*a[2][4]+a[5][3]*a[1][5]*a[0][0]*a[2][1]*a[3][4]+a[5][3]*a[1][5]*a[3][0]*a[0][1]*a[2][4]-a[5][3]*a[1][5]*a[2][1]*a[3][0]*a[0][4]+a[5][3]*a[1][5]*a[3][1]*a[2][0]*a[0][4]-a[5][3]*a[1][5]*a[2][0]*a[0][1]*a[3][4]-a[5][1]*a[2][5]*a[0][0]*a[1][4]*a[3][3]+a[5][1]*a[2][5]*a[0][0]*a[1][3]*a[3][4]+a[5][1]*a[2][5]*a[1][0]*a[0][4]*a[3][3]+a[5][1]*a[2][5]*a[3][0]*a[0][3]*a[1][4]-a[5][1]*a[2][5]*a[1][3]*a[3][0]*a[0][4]-a[5][1]*a[2][5]*a[1][0]*a[0][3]*a[3][4]+a[5][1]*a[1][5]*a[0][0]*a[2][4]*a[3][3]-a[5][1]*a[1][5]*a[0][0]*a[2][3]*a[3][4]-a[5][1]*a[1][5]*a[2][0]*a[0][4]*a[3][3]+a[5][1]*a[1][5]*a[2][0]*a[0][3]*a[3][4]-a[5][1]*a[1][5]*a[3][0]*a[0][3]*a[2][4]+a[5][1]*a[1][5]*a[2][3]*a[3][0]*a[0][4]+a[5][0]*a[1][5]*a[3][3]*a[2][1]*a[0][4]-a[5][0]*a[1][5]*a[3][3]*a[0][1]*a[2][4]+a[5][0]*a[1][5]*a[0][1]*a[2][3]*a[3][4]-a[5][0]*a[1][5]*a[2][3]*a[3][1]*a[0][4]+a[5][0]*a[1][5]*a[0][3]*a[3][1]*a[2][4]-a[5][0]*a[1][5]*a[2][1]*a[0][3]*a[3][4]+a[5][3]*a[0][5]*a[1][1]*a[2][0]*a[3][4]-a[5][3]*a[0][5]*a[1][1]*a[3][0]*a[2][4]+a[5][3]*a[0][5]*a[1][0]*a[3][1]*a[2][4]-a[5][3]*a[0][5]*a[1][0]*a[2][1]*a[3][4]-a[5][3]*a[0][5]*a[2][0]*a[3][1]*a[1][4]+a[5][3]*a[0][5]*a[3][0]*a[2][1]*a[1][4]-a[5][4]*a[1][5]*a[0][0]*a[2][1]*a[3][3]+a[5][4]*a[1][5]*a[0][0]*a[2][3]*a[3][1]+a[5][4]*a[1][5]*a[2][0]*a[0][1]*a[3][3]-a[5][4]*a[1][5]*a[2][0]*a[0][3]*a[3][1]-a[5][4]*a[1][5]*a[2][3]*a[3][0]*a[0][1]+a[5][4]*a[1][5]*a[3][0]*a[0][3]*a[2][1]-a[5][0]*a[2][5]*a[1][1]*a[0][4]*a[3][3]+a[5][0]*a[2][5]*a[1][1]*a[0][3]*a[3][4]+a[5][0]*a[2][5]*a[0][1]*a[1][4]*a[3][3]-a[5][0]*a[2][5]*a[0][1]*a[1][3]*a[3][4]-a[5][0]*a[2][5]*a[0][3]*a[3][1]*a[1][4]+a[5][0]*a[2][5]*a[3][1]*a[1][3]*a[0][4]-a[5][4]*a[0][5]*a[1][1]*a[2][0]*a[3][3]+a[5][4]*a[0][5]*a[1][1]*a[2][3]*a[3][0]+a[5][4]*a[0][5]*a[1][0]*a[2][1]*a[3][3]-a[5][4]*a[0][5]*a[2][3]*a[1][0]*a[3][1]-a[5][4]*a[0][5]*a[2][1]*a[1][3]*a[3][0]+a[5][4]*a[0][5]*a[3][1]*a[1][3]*a[2][0]+a[5][0]*a[0][5]*a[1][1]*a[2][4]*a[3][3]-a[5][0]*a[0][5]*a[1][1]*a[2][3]*a[3][4]-a[5][0]*a[0][5]*a[2][1]*a[1][4]*a[3][3]+a[5][0]*a[0][5]*a[2][1]*a[1][3]*a[3][4]+a[5][0]*a[0][5]*a[2][3]*a[3][1]*a[1][4]-a[5][0]*a[0][5]*a[3][1]*a[1][3]*a[2][4]-a[5][0]*a[3][5]*a[1][1]*a[0][3]*a[2][4]+a[5][0]*a[3][5]*a[1][1]*a[2][3]*a[0][4]+a[5][0]*a[3][5]*a[0][1]*a[1][3]*a[2][4]-a[5][0]*a[3][5]*a[2][1]*a[1][3]*a[0][4]-a[5][0]*a[3][5]*a[2][3]*a[0][1]*a[1][4]+a[5][0]*a[3][5]*a[0][3]*a[2][1]*a[1][4]+a[5][3]*a[3][5]*a[0][0]*a[2][4]*a[1][1]-a[5][3]*a[3][5]*a[0][0]*a[2][1]*a[1][4]-a[5][3]*a[3][5]*a[2][0]*a[0][4]*a[1][1]+a[5][3]*a[3][5]*a[2][0]*a[0][1]*a[1][4]-a[5][3]*a[3][5]*a[1][0]*a[0][1]*a[2][4]+a[5][3]*a[3][5]*a[2][1]*a[1][0]*a[0][4]-a[5][1]*a[3][5]*a[0][0]*a[1][3]*a[2][4]+a[5][1]*a[3][5]*a[0][0]*a[2][3]*a[1][4]+a[5][1]*a[3][5]*a[1][0]*a[0][3]*a[2][4]-a[5][1]*a[3][5]*a[2][0]*a[0][3]*a[1][4]-a[5][1]*a[3][5]*a[2][3]*a[1][0]*a[0][4]+a[5][1]*a[3][5]*a[1][3]*a[2][0]*a[0][4])/det; 
    ainv[3][4] = (-a[5][2]*a[3][5]*a[2][0]*a[0][1]*a[1][4]-a[5][2]*a[3][5]*a[2][1]*a[1][0]*a[0][4]+a[5][2]*a[3][5]*a[1][0]*a[0][1]*a[2][4]+a[5][0]*a[2][5]*a[1][1]*a[3][2]*a[0][4]-a[5][0]*a[2][5]*a[1][1]*a[0][2]*a[3][4]-a[5][0]*a[2][5]*a[3][1]*a[1][2]*a[0][4]-a[5][0]*a[2][5]*a[3][2]*a[0][1]*a[1][4]+a[5][0]*a[2][5]*a[0][2]*a[3][1]*a[1][4]+a[5][0]*a[2][5]*a[0][1]*a[1][2]*a[3][4]+a[5][1]*a[1][5]*a[0][0]*a[3][4]*a[2][2]-a[5][1]*a[1][5]*a[0][0]*a[3][2]*a[2][4]-a[5][1]*a[1][5]*a[3][0]*a[0][4]*a[2][2]+a[5][1]*a[1][5]*a[3][0]*a[0][2]*a[2][4]+a[5][1]*a[1][5]*a[3][2]*a[2][0]*a[0][4]-a[5][1]*a[1][5]*a[2][0]*a[0][2]*a[3][4]-a[5][4]*a[0][5]*a[1][1]*a[3][0]*a[2][2]+a[5][4]*a[0][5]*a[1][1]*a[3][2]*a[2][0]+a[5][4]*a[0][5]*a[1][0]*a[3][1]*a[2][2]+a[5][4]*a[0][5]*a[2][1]*a[1][2]*a[3][0]-a[5][4]*a[0][5]*a[3][2]*a[1][0]*a[2][1]-a[5][4]*a[0][5]*a[3][1]*a[1][2]*a[2][0]-a[5][0]*a[1][5]*a[2][2]*a[0][1]*a[3][4]+a[5][0]*a[1][5]*a[2][2]*a[3][1]*a[0][4]+a[5][0]*a[1][5]*a[0][1]*a[3][2]*a[2][4]+a[5][0]*a[1][5]*a[0][2]*a[2][1]*a[3][4]-a[5][0]*a[1][5]*a[3][2]*a[2][1]*a[0][4]-a[5][0]*a[1][5]*a[3][1]*a[0][2]*a[2][4]-a[5][4]*a[2][5]*a[0][0]*a[1][1]*a[3][2]+a[5][4]*a[2][5]*a[0][0]*a[3][1]*a[1][2]+a[5][4]*a[2][5]*a[1][1]*a[3][0]*a[0][2]+a[5][4]*a[2][5]*a[1][0]*a[0][1]*a[3][2]-a[5][4]*a[2][5]*a[3][0]*a[0][1]*a[1][2]-a[5][4]*a[2][5]*a[3][1]*a[1][0]*a[0][2]-a[5][1]*a[2][5]*a[0][0]*a[1][2]*a[3][4]+a[5][1]*a[2][5]*a[0][0]*a[3][2]*a[1][4]+a[5][1]*a[2][5]*a[1][2]*a[3][0]*a[0][4]+a[5][1]*a[2][5]*a[1][0]*a[0][2]*a[3][4]-a[5][1]*a[2][5]*a[3][0]*a[0][2]*a[1][4]-a[5][1]*a[2][5]*a[3][2]*a[1][0]*a[0][4]+a[5][0]*a[0][5]*a[1][1]*a[3][4]*a[2][2]-a[5][0]*a[0][5]*a[1][1]*a[3][2]*a[2][4]-a[5][0]*a[0][5]*a[3][1]*a[1][4]*a[2][2]+a[5][0]*a[0][5]*a[3][2]*a[2][1]*a[1][4]-a[5][0]*a[0][5]*a[2][1]*a[1][2]*a[3][4]+a[5][0]*a[0][5]*a[3][1]*a[1][2]*a[2][4]+a[5][1]*a[0][5]*a[2][2]*a[3][0]*a[1][4]-a[5][1]*a[0][5]*a[2][2]*a[1][0]*a[3][4]-a[5][1]*a[0][5]*a[3][0]*a[1][2]*a[2][4]+a[5][1]*a[0][5]*a[1][0]*a[3][2]*a[2][4]+a[5][1]*a[0][5]*a[1][2]*a[2][0]*a[3][4]-a[5][1]*a[0][5]*a[3][2]*a[2][0]*a[1][4]-a[5][5]*a[0][0]*a[1][1]*a[2][2]*a[3][4]+a[5][5]*a[0][0]*a[1][1]*a[3][2]*a[2][4]+a[5][5]*a[0][0]*a[2][2]*a[3][1]*a[1][4]-a[5][5]*a[0][0]*a[3][1]*a[1][2]*a[2][4]-a[5][5]*a[0][0]*a[3][2]*a[2][1]*a[1][4]+a[5][5]*a[0][0]*a[2][1]*a[1][2]*a[3][4]+a[5][5]*a[1][1]*a[2][2]*a[3][0]*a[0][4]-a[5][5]*a[1][1]*a[3][2]*a[2][0]*a[0][4]-a[5][5]*a[1][1]*a[3][0]*a[0][2]*a[2][4]+a[5][5]*a[1][1]*a[2][0]*a[0][2]*a[3][4]-a[5][5]*a[2][2]*a[3][0]*a[0][1]*a[1][4]+a[5][5]*a[2][2]*a[1][0]*a[0][1]*a[3][4]-a[5][5]*a[2][2]*a[3][1]*a[1][0]*a[0][4]+a[5][5]*a[3][1]*a[1][0]*a[0][2]*a[2][4]+a[5][5]*a[3][2]*a[2][0]*a[0][1]*a[1][4]+a[5][5]*a[3][0]*a[0][1]*a[1][2]*a[2][4]-a[5][5]*a[3][2]*a[1][0]*a[0][1]*a[2][4]+a[5][5]*a[3][1]*a[1][2]*a[2][0]*a[0][4]+a[5][5]*a[3][2]*a[2][1]*a[1][0]*a[0][4]-a[5][5]*a[2][1]*a[1][2]*a[3][0]*a[0][4]-a[5][5]*a[2][0]*a[0][2]*a[3][1]*a[1][4]-a[5][5]*a[2][1]*a[1][0]*a[0][2]*a[3][4]+a[5][5]*a[3][0]*a[0][2]*a[2][1]*a[1][4]-a[5][5]*a[2][0]*a[0][1]*a[1][2]*a[3][4]-a[5][1]*a[3][5]*a[0][0]*a[1][4]*a[2][2]+a[5][1]*a[3][5]*a[0][0]*a[1][2]*a[2][4]+a[5][1]*a[3][5]*a[1][0]*a[0][4]*a[2][2]+a[5][1]*a[3][5]*a[2][0]*a[0][2]*a[1][4]-a[5][1]*a[3][5]*a[1][2]*a[2][0]*a[0][4]-a[5][1]*a[3][5]*a[1][0]*a[0][2]*a[2][4]-a[5][0]*a[3][5]*a[1][1]*a[0][4]*a[2][2]+a[5][0]*a[3][5]*a[1][1]*a[0][2]*a[2][4]+a[5][0]*a[3][5]*a[0][1]*a[1][4]*a[2][2]+a[5][0]*a[3][5]*a[2][1]*a[1][2]*a[0][4]-a[5][0]*a[3][5]*a[0][1]*a[1][2]*a[2][4]-a[5][0]*a[3][5]*a[0][2]*a[2][1]*a[1][4]-a[5][4]*a[1][5]*a[0][0]*a[3][1]*a[2][2]+a[5][4]*a[1][5]*a[0][0]*a[3][2]*a[2][1]+a[5][4]*a[1][5]*a[3][0]*a[0][1]*a[2][2]-a[5][4]*a[1][5]*a[3][0]*a[0][2]*a[2][1]+a[5][4]*a[1][5]*a[2][0]*a[0][2]*a[3][1]-a[5][4]*a[1][5]*a[3][2]*a[2][0]*a[0][1]+a[5][2]*a[2][5]*a[0][0]*a[3][4]*a[1][1]-a[5][2]*a[2][5]*a[0][0]*a[3][1]*a[1][4]-a[5][2]*a[2][5]*a[3][0]*a[0][4]*a[1][1]+a[5][2]*a[2][5]*a[3][0]*a[0][1]*a[1][4]+a[5][2]*a[2][5]*a[3][1]*a[1][0]*a[0][4]-a[5][2]*a[2][5]*a[1][0]*a[0][1]*a[3][4]-a[5][4]*a[3][5]*a[0][0]*a[2][1]*a[1][2]+a[5][4]*a[3][5]*a[0][0]*a[1][1]*a[2][2]+a[5][4]*a[3][5]*a[2][1]*a[1][0]*a[0][2]-a[5][4]*a[3][5]*a[1][1]*a[2][0]*a[0][2]-a[5][4]*a[3][5]*a[1][0]*a[0][1]*a[2][2]+a[5][4]*a[3][5]*a[2][0]*a[0][1]*a[1][2]-a[5][2]*a[1][5]*a[0][0]*a[2][1]*a[3][4]+a[5][2]*a[1][5]*a[0][0]*a[3][1]*a[2][4]+a[5][2]*a[1][5]*a[2][1]*a[3][0]*a[0][4]-a[5][2]*a[1][5]*a[3][0]*a[0][1]*a[2][4]-a[5][2]*a[1][5]*a[3][1]*a[2][0]*a[0][4]+a[5][2]*a[1][5]*a[2][0]*a[0][1]*a[3][4]-a[5][2]*a[0][5]*a[1][1]*a[2][0]*a[3][4]+a[5][2]*a[0][5]*a[1][1]*a[3][0]*a[2][4]+a[5][2]*a[0][5]*a[1][0]*a[2][1]*a[3][4]+a[5][2]*a[0][5]*a[2][0]*a[3][1]*a[1][4]-a[5][2]*a[0][5]*a[3][0]*a[2][1]*a[1][4]-a[5][2]*a[0][5]*a[1][0]*a[3][1]*a[2][4]-a[5][2]*a[3][5]*a[0][0]*a[2][4]*a[1][1]+a[5][2]*a[3][5]*a[0][0]*a[2][1]*a[1][4]+a[5][2]*a[3][5]*a[2][0]*a[0][4]*a[1][1])/det;
    ainv[4][4] = (a[5][0]*a[3][5]*a[0][2]*a[2][1]*a[1][3]-a[5][0]*a[3][5]*a[2][2]*a[0][1]*a[1][3]-a[5][0]*a[3][5]*a[2][1]*a[1][2]*a[0][3]+a[5][0]*a[3][5]*a[0][1]*a[1][2]*a[2][3]+a[5][3]*a[0][5]*a[1][1]*a[3][0]*a[2][2]-a[5][3]*a[0][5]*a[1][1]*a[3][2]*a[2][0]-a[5][3]*a[0][5]*a[1][0]*a[3][1]*a[2][2]+a[5][3]*a[0][5]*a[3][1]*a[1][2]*a[2][0]-a[5][3]*a[0][5]*a[2][1]*a[1][2]*a[3][0]+a[5][3]*a[0][5]*a[3][2]*a[1][0]*a[2][1]-a[5][1]*a[1][5]*a[0][0]*a[3][3]*a[2][2]+a[5][1]*a[1][5]*a[0][0]*a[3][2]*a[2][3]+a[5][1]*a[1][5]*a[3][0]*a[0][3]*a[2][2]+a[5][1]*a[1][5]*a[2][0]*a[0][2]*a[3][3]-a[5][1]*a[1][5]*a[3][0]*a[0][2]*a[2][3]-a[5][1]*a[1][5]*a[3][2]*a[2][0]*a[0][3]+a[5][1]*a[2][5]*a[0][0]*a[1][2]*a[3][3]-a[5][1]*a[2][5]*a[0][0]*a[1][3]*a[3][2]-a[5][1]*a[2][5]*a[1][0]*a[0][2]*a[3][3]+a[5][1]*a[2][5]*a[1][3]*a[3][0]*a[0][2]-a[5][1]*a[2][5]*a[3][0]*a[0][3]*a[1][2]+a[5][1]*a[2][5]*a[1][0]*a[0][3]*a[3][2]+a[5][1]*a[0][5]*a[2][2]*a[1][0]*a[3][3]-a[5][1]*a[0][5]*a[2][2]*a[1][3]*a[3][0]-a[5][1]*a[0][5]*a[1][2]*a[2][0]*a[3][3]+a[5][1]*a[0][5]*a[1][3]*a[3][2]*a[2][0]+a[5][1]*a[0][5]*a[1][2]*a[2][3]*a[3][0]-a[5][1]*a[0][5]*a[1][0]*a[3][2]*a[2][3]+a[5][2]*a[0][5]*a[1][1]*a[2][0]*a[3][3]-a[5][2]*a[0][5]*a[1][1]*a[2][3]*a[3][0]-a[5][2]*a[0][5]*a[1][0]*a[2][1]*a[3][3]+a[5][2]*a[0][5]*a[2][1]*a[1][3]*a[3][0]-a[5][2]*a[0][5]*a[3][1]*a[1][3]*a[2][0]+a[5][2]*a[0][5]*a[2][3]*a[1][0]*a[3][1]-a[5][2]*a[2][5]*a[0][0]*a[3][3]*a[1][1]+a[5][2]*a[2][5]*a[0][0]*a[3][1]*a[1][3]+a[5][2]*a[2][5]*a[3][0]*a[0][3]*a[1][1]+a[5][2]*a[2][5]*a[1][0]*a[0][1]*a[3][3]-a[5][2]*a[2][5]*a[3][0]*a[0][1]*a[1][3]-a[5][2]*a[2][5]*a[3][1]*a[1][0]*a[0][3]+a[5][0]*a[1][5]*a[2][2]*a[0][1]*a[3][3]-a[5][0]*a[1][5]*a[2][2]*a[0][3]*a[3][1]-a[5][0]*a[1][5]*a[0][2]*a[2][1]*a[3][3]+a[5][0]*a[1][5]*a[0][2]*a[2][3]*a[3][1]-a[5][0]*a[1][5]*a[0][1]*a[3][2]*a[2][3]+a[5][0]*a[1][5]*a[0][3]*a[3][2]*a[2][1]-a[5][3]*a[2][5]*a[0][0]*a[3][1]*a[1][2]+a[5][3]*a[2][5]*a[0][0]*a[1][1]*a[3][2]+a[5][3]*a[2][5]*a[3][1]*a[1][0]*a[0][2]-a[5][3]*a[2][5]*a[1][1]*a[3][0]*a[0][2]-a[5][3]*a[2][5]*a[1][0]*a[0][1]*a[3][2]+a[5][3]*a[2][5]*a[3][0]*a[0][1]*a[1][2]+a[5][0]*a[2][5]*a[1][1]*a[0][2]*a[3][3]-a[5][0]*a[2][5]*a[1][1]*a[0][3]*a[3][2]-a[5][0]*a[2][5]*a[0][1]*a[1][2]*a[3][3]-a[5][0]*a[2][5]*a[3][1]*a[1][3]*a[0][2]+a[5][0]*a[2][5]*a[0][1]*a[1][3]*a[3][2]+a[5][0]*a[2][5]*a[0][3]*a[3][1]*a[1][2]-a[5][3]*a[3][5]*a[0][0]*a[1][1]*a[2][2]-a[5][5]*a[0][0]*a[1][1]*a[3][2]*a[2][3]+a[5][5]*a[0][0]*a[1][1]*a[2][2]*a[3][3]+a[5][5]*a[0][0]*a[3][1]*a[1][2]*a[2][3]+a[5][5]*a[0][0]*a[3][2]*a[2][1]*a[1][3]-a[5][5]*a[0][0]*a[2][2]*a[3][1]*a[1][3]-a[5][5]*a[0][0]*a[2][1]*a[1][2]*a[3][3]-a[5][5]*a[1][1]*a[2][0]*a[0][2]*a[3][3]+a[5][5]*a[1][1]*a[3][2]*a[2][0]*a[0][3]+a[5][5]*a[1][1]*a[3][0]*a[0][2]*a[2][3]-a[5][5]*a[1][1]*a[2][2]*a[3][0]*a[0][3]-a[5][5]*a[3][2]*a[2][1]*a[1][0]*a[0][3]+a[5][5]*a[3][2]*a[1][0]*a[0][1]*a[2][3]-a[5][5]*a[3][2]*a[2][0]*a[0][1]*a[1][3]-a[5][5]*a[3][1]*a[1][0]*a[0][2]*a[2][3]+a[5][5]*a[2][1]*a[1][2]*a[3][0]*a[0][3]+a[5][5]*a[2][2]*a[3][1]*a[1][0]*a[0][3]+a[5][5]*a[2][1]*a[1][0]*a[0][2]*a[3][3]-a[5][5]*a[2][2]*a[1][0]*a[0][1]*a[3][3]+a[5][5]*a[2][2]*a[3][0]*a[0][1]*a[1][3]+a[5][5]*a[2][0]*a[0][1]*a[1][2]*a[3][3]+a[5][5]*a[2][0]*a[0][2]*a[3][1]*a[1][3]-a[5][5]*a[3][0]*a[0][2]*a[2][1]*a[1][3]-a[5][5]*a[3][1]*a[1][2]*a[2][0]*a[0][3]-a[5][5]*a[3][0]*a[0][1]*a[1][2]*a[2][3]+a[5][0]*a[3][5]*a[1][1]*a[2][2]*a[0][3]-a[5][0]*a[3][5]*a[1][1]*a[0][2]*a[2][3]+a[5][3]*a[3][5]*a[0][0]*a[2][1]*a[1][2]+a[5][3]*a[3][5]*a[1][1]*a[2][0]*a[0][2]+a[5][3]*a[3][5]*a[1][0]*a[0][1]*a[2][2]-a[5][3]*a[3][5]*a[2][1]*a[1][0]*a[0][2]-a[5][3]*a[3][5]*a[2][0]*a[0][1]*a[1][2]-a[5][2]*a[3][5]*a[0][0]*a[2][1]*a[1][3]+a[5][2]*a[3][5]*a[0][0]*a[1][1]*a[2][3]+a[5][2]*a[3][5]*a[2][1]*a[1][0]*a[0][3]-a[5][2]*a[3][5]*a[1][1]*a[2][0]*a[0][3]-a[5][2]*a[3][5]*a[1][0]*a[0][1]*a[2][3]+a[5][2]*a[3][5]*a[2][0]*a[0][1]*a[1][3]+a[5][1]*a[3][5]*a[0][0]*a[2][2]*a[1][3]-a[5][1]*a[3][5]*a[0][0]*a[1][2]*a[2][3]-a[5][1]*a[3][5]*a[2][2]*a[1][0]*a[0][3]-a[5][1]*a[3][5]*a[2][0]*a[0][2]*a[1][3]+a[5][1]*a[3][5]*a[1][0]*a[0][2]*a[2][3]+a[5][1]*a[3][5]*a[1][2]*a[2][0]*a[0][3]+a[5][2]*a[1][5]*a[0][0]*a[2][1]*a[3][3]-a[5][2]*a[1][5]*a[0][0]*a[2][3]*a[3][1]-a[5][2]*a[1][5]*a[2][0]*a[0][1]*a[3][3]+a[5][2]*a[1][5]*a[2][3]*a[3][0]*a[0][1]-a[5][2]*a[1][5]*a[3][0]*a[0][3]*a[2][1]+a[5][2]*a[1][5]*a[2][0]*a[0][3]*a[3][1]+a[5][3]*a[1][5]*a[0][0]*a[3][1]*a[2][2]-a[5][3]*a[1][5]*a[0][0]*a[3][2]*a[2][1]-a[5][3]*a[1][5]*a[3][0]*a[0][1]*a[2][2]+a[5][3]*a[1][5]*a[3][0]*a[0][2]*a[2][1]-a[5][3]*a[1][5]*a[2][0]*a[0][2]*a[3][1]+a[5][3]*a[1][5]*a[3][2]*a[2][0]*a[0][1]-a[5][0]*a[0][5]*a[1][1]*a[3][3]*a[2][2]+a[5][0]*a[0][5]*a[1][1]*a[3][2]*a[2][3]+a[5][0]*a[0][5]*a[3][1]*a[1][3]*a[2][2]+a[5][0]*a[0][5]*a[2][1]*a[1][2]*a[3][3]-a[5][0]*a[0][5]*a[3][1]*a[1][2]*a[2][3]-a[5][0]*a[0][5]*a[3][2]*a[2][1]*a[1][3])/det;
    ainv[5][4] = (-a[0][0]*a[3][1]*a[1][3]*a[5][2]*a[2][4]+a[1][1]*a[5][3]*a[3][0]*a[0][2]*a[2][4]+a[2][2]*a[5][1]*a[1][0]*a[0][3]*a[3][4]-a[2][2]*a[3][0]*a[0][1]*a[1][3]*a[5][4]+a[2][2]*a[5][0]*a[0][3]*a[3][1]*a[1][4]+a[0][0]*a[2][2]*a[3][3]*a[5][1]*a[1][4]-a[1][1]*a[3][0]*a[0][3]*a[5][2]*a[2][4]-a[2][2]*a[3][3]*a[5][0]*a[0][1]*a[1][4]+a[0][0]*a[1][1]*a[3][3]*a[5][2]*a[2][4]+a[0][0]*a[2][2]*a[3][1]*a[1][3]*a[5][4]-a[2][2]*a[3][0]*a[0][3]*a[5][1]*a[1][4]-a[0][0]*a[1][1]*a[2][2]*a[3][3]*a[5][4]+a[0][0]*a[1][1]*a[3][2]*a[2][3]*a[5][4]-a[5][2]*a[2][3]*a[3][1]*a[1][0]*a[0][4]-a[5][3]*a[3][0]*a[0][1]*a[1][2]*a[2][4]+a[3][3]*a[5][1]*a[1][2]*a[2][0]*a[0][4]+a[3][3]*a[5][2]*a[2][1]*a[1][0]*a[0][4]+a[3][1]*a[1][3]*a[5][2]*a[2][0]*a[0][4]+a[3][3]*a[5][1]*a[1][0]*a[0][2]*a[2][4]+a[3][2]*a[2][1]*a[1][3]*a[5][0]*a[0][4]-a[3][1]*a[1][3]*a[2][0]*a[0][2]*a[5][4]+a[5][3]*a[2][0]*a[0][2]*a[3][1]*a[1][4]+a[3][1]*a[1][3]*a[5][0]*a[0][2]*a[2][4]+a[5][3]*a[2][1]*a[1][2]*a[3][0]*a[0][4]-a[3][3]*a[2][1]*a[1][0]*a[0][2]*a[5][4]-a[5][3]*a[3][0]*a[0][2]*a[2][1]*a[1][4]-a[5][3]*a[3][2]*a[2][0]*a[0][1]*a[1][4]+a[3][2]*a[2][3]*a[5][1]*a[1][0]*a[0][4]-a[3][2]*a[2][3]*a[1][0]*a[0][1]*a[5][4]-a[3][3]*a[2][1]*a[1][2]*a[5][0]*a[0][4]-a[5][2]*a[2][3]*a[3][0]*a[0][1]*a[1][4]+a[5][3]*a[2][1]*a[1][0]*a[0][2]*a[3][4]-a[5][3]*a[3][2]*a[2][1]*a[1][0]*a[0][4]+a[5][3]*a[2][0]*a[0][1]*a[1][2]*a[3][4]+a[5][3]*a[3][2]*a[1][0]*a[0][1]*a[2][4]-a[5][3]*a[3][1]*a[1][0]*a[0][2]*a[2][4]-a[3][3]*a[2][0]*a[0][1]*a[1][2]*a[5][4]-a[3][3]*a[2][0]*a[0][2]*a[5][1]*a[1][4]+a[3][2]*a[2][3]*a[5][0]*a[0][1]*a[1][4]+a[3][1]*a[1][2]*a[2][3]*a[5][0]*a[0][4]+a[3][3]*a[5][0]*a[0][2]*a[2][1]*a[1][4]+a[5][2]*a[2][3]*a[1][0]*a[0][1]*a[3][4]-a[5][3]*a[3][1]*a[1][2]*a[2][0]*a[0][4]+a[3][2]*a[2][0]*a[0][3]*a[5][1]*a[1][4]+a[3][0]*a[0][2]*a[2][3]*a[5][1]*a[1][4]+a[3][2]*a[2][0]*a[0][1]*a[1][3]*a[5][4]+a[3][0]*a[0][3]*a[5][1]*a[1][2]*a[2][4]+a[3][0]*a[0][3]*a[5][2]*a[2][1]*a[1][4]+a[3][0]*a[0][2]*a[2][1]*a[1][3]*a[5][4]+a[3][1]*a[1][2]*a[2][0]*a[0][3]*a[5][4]+a[3][3]*a[5][0]*a[0][1]*a[1][2]*a[2][4]-a[3][3]*a[5][2]*a[1][0]*a[0][1]*a[2][4]+a[3][3]*a[5][2]*a[2][0]*a[0][1]*a[1][4]+a[3][0]*a[0][1]*a[1][2]*a[2][3]*a[5][4]-a[3][0]*a[0][3]*a[2][1]*a[1][2]*a[5][4]+a[3][2]*a[2][1]*a[1][0]*a[0][3]*a[5][4]+a[3][0]*a[0][1]*a[1][3]*a[5][2]*a[2][4]-a[5][1]*a[1][3]*a[3][0]*a[0][2]*a[2][4]-a[5][1]*a[1][2]*a[2][3]*a[3][0]*a[0][4]-a[5][1]*a[1][0]*a[0][3]*a[3][2]*a[2][4]-a[5][0]*a[0][1]*a[1][3]*a[3][2]*a[2][4]-a[5][1]*a[1][2]*a[2][0]*a[0][3]*a[3][4]-a[5][2]*a[2][1]*a[1][0]*a[0][3]*a[3][4]-a[5][2]*a[2][0]*a[0][3]*a[3][1]*a[1][4]-a[5][0]*a[0][2]*a[2][3]*a[3][1]*a[1][4]+a[3][1]*a[1][0]*a[0][2]*a[2][3]*a[5][4]+a[3][1]*a[1][0]*a[0][3]*a[5][2]*a[2][4]-a[5][2]*a[2][1]*a[1][3]*a[3][0]*a[0][4]+a[5][1]*a[1][3]*a[2][0]*a[0][2]*a[3][4]-a[5][1]*a[1][3]*a[3][2]*a[2][0]*a[0][4]-a[2][2]*a[5][3]*a[1][0]*a[0][1]*a[3][4]+a[2][2]*a[5][3]*a[3][0]*a[0][1]*a[1][4]-a[2][2]*a[3][3]*a[5][1]*a[1][0]*a[0][4]+a[2][2]*a[5][1]*a[1][3]*a[3][0]*a[0][4]-a[5][0]*a[0][3]*a[3][1]*a[1][2]*a[2][4]-a[5][0]*a[0][3]*a[3][2]*a[2][1]*a[1][4]+a[5][0]*a[0][3]*a[2][1]*a[1][2]*a[3][4]-a[5][0]*a[0][2]*a[2][1]*a[1][3]*a[3][4]-a[5][0]*a[0][1]*a[1][2]*a[2][3]*a[3][4]-a[5][2]*a[2][0]*a[0][1]*a[1][3]*a[3][4]-a[5][1]*a[1][0]*a[0][2]*a[2][3]*a[3][4]+a[2][2]*a[5][0]*a[0][1]*a[1][3]*a[3][4]+a[2][2]*a[3][3]*a[1][0]*a[0][1]*a[5][4]-a[2][2]*a[3][1]*a[1][3]*a[5][0]*a[0][4]+a[2][2]*a[5][3]*a[3][1]*a[1][0]*a[0][4]-a[2][2]*a[3][1]*a[1][0]*a[0][3]*a[5][4]+a[1][1]*a[2][2]*a[3][3]*a[5][0]*a[0][4]-a[1][1]*a[2][2]*a[5][3]*a[3][0]*a[0][4]-a[1][1]*a[2][2]*a[5][0]*a[0][3]*a[3][4]+a[1][1]*a[2][2]*a[3][0]*a[0][3]*a[5][4]+a[1][1]*a[5][0]*a[0][2]*a[2][3]*a[3][4]-a[1][1]*a[3][0]*a[0][2]*a[2][3]*a[5][4]+a[1][1]*a[5][2]*a[2][0]*a[0][3]*a[3][4]-a[1][1]*a[3][3]*a[5][0]*a[0][2]*a[2][4]+a[1][1]*a[3][3]*a[2][0]*a[0][2]*a[5][4]-a[1][1]*a[3][3]*a[5][2]*a[2][0]*a[0][4]+a[1][1]*a[5][3]*a[3][2]*a[2][0]*a[0][4]-a[1][1]*a[3][2]*a[2][3]*a[5][0]*a[0][4]-a[1][1]*a[5][3]*a[2][0]*a[0][2]*a[3][4]+a[1][1]*a[5][2]*a[2][3]*a[3][0]*a[0][4]+a[1][1]*a[5][0]*a[0][3]*a[3][2]*a[2][4]-a[1][1]*a[3][2]*a[2][0]*a[0][3]*a[5][4]+a[0][0]*a[1][1]*a[2][2]*a[5][3]*a[3][4]-a[0][0]*a[1][1]*a[5][3]*a[3][2]*a[2][4]-a[0][0]*a[1][1]*a[5][2]*a[2][3]*a[3][4]-a[0][0]*a[2][2]*a[5][3]*a[3][1]*a[1][4]-a[0][0]*a[2][2]*a[5][1]*a[1][3]*a[3][4]-a[0][0]*a[3][2]*a[2][1]*a[1][3]*a[5][4]+a[0][0]*a[5][2]*a[2][3]*a[3][1]*a[1][4]+a[0][0]*a[5][3]*a[3][2]*a[2][1]*a[1][4]-a[0][0]*a[3][3]*a[5][2]*a[2][1]*a[1][4]+a[0][0]*a[5][3]*a[3][1]*a[1][2]*a[2][4]+a[0][0]*a[5][1]*a[1][2]*a[2][3]*a[3][4]-a[0][0]*a[5][3]*a[2][1]*a[1][2]*a[3][4]+a[0][0]*a[3][3]*a[2][1]*a[1][2]*a[5][4]+a[0][0]*a[5][1]*a[1][3]*a[3][2]*a[2][4]-a[0][0]*a[3][1]*a[1][2]*a[2][3]*a[5][4]+a[0][0]*a[5][2]*a[2][1]*a[1][3]*a[3][4]-a[0][0]*a[3][2]*a[2][3]*a[5][1]*a[1][4]-a[0][0]*a[3][3]*a[5][1]*a[1][2]*a[2][4])/det;    
        
    ainv[0][5] = (-a[1][5]*a[4][4]*a[2][2]*a[0][3]*a[3][1]-a[2][5]*a[1][4]*a[4][1]*a[0][2]*a[3][3]+a[2][5]*a[0][4]*a[4][3]*a[3][2]*a[1][1]+a[3][5]*a[1][4]*a[4][3]*a[0][1]*a[2][2]-a[3][5]*a[1][4]*a[4][3]*a[0][2]*a[2][1]-a[0][5]*a[3][4]*a[4][1]*a[2][2]*a[1][3]+a[0][5]*a[3][4]*a[4][1]*a[1][2]*a[2][3]+a[3][5]*a[0][4]*a[4][3]*a[2][1]*a[1][2]-a[3][5]*a[0][4]*a[4][3]*a[1][1]*a[2][2]+a[0][5]*a[1][4]*a[4][2]*a[2][3]*a[3][1]-a[0][5]*a[1][4]*a[4][2]*a[3][3]*a[2][1]+a[3][5]*a[1][4]*a[4][2]*a[2][1]*a[0][3]-a[3][5]*a[1][4]*a[4][2]*a[2][3]*a[0][1]+a[2][5]*a[1][4]*a[4][2]*a[3][3]*a[0][1]-a[2][5]*a[1][4]*a[4][2]*a[0][3]*a[3][1]+a[3][5]*a[0][4]*a[4][1]*a[2][2]*a[1][3]-a[3][5]*a[0][4]*a[4][1]*a[1][2]*a[2][3]+a[1][5]*a[0][4]*a[4][1]*a[3][2]*a[2][3]-a[1][5]*a[0][4]*a[4][1]*a[2][2]*a[3][3]-a[0][5]*a[3][4]*a[4][3]*a[2][1]*a[1][2]+a[0][5]*a[3][4]*a[4][3]*a[1][1]*a[2][2]+a[2][5]*a[4][1]*a[0][4]*a[1][2]*a[3][3]-a[2][5]*a[4][1]*a[0][4]*a[1][3]*a[3][2]+a[3][5]*a[2][4]*a[4][3]*a[0][2]*a[1][1]-a[3][5]*a[2][4]*a[4][3]*a[0][1]*a[1][2]-a[3][5]*a[4][2]*a[2][4]*a[0][3]*a[1][1]+a[3][5]*a[4][2]*a[2][4]*a[0][1]*a[1][3]-a[0][5]*a[4][2]*a[3][4]*a[2][3]*a[1][1]+a[0][5]*a[4][2]*a[3][4]*a[2][1]*a[1][3]-a[3][5]*a[1][4]*a[4][1]*a[2][2]*a[0][3]+a[3][5]*a[1][4]*a[4][1]*a[0][2]*a[2][3]-a[0][5]*a[1][4]*a[4][1]*a[3][2]*a[2][3]+a[0][5]*a[1][4]*a[4][1]*a[2][2]*a[3][3]-a[1][5]*a[2][4]*a[4][3]*a[3][1]*a[0][2]+a[1][5]*a[2][4]*a[4][3]*a[3][2]*a[0][1]+a[3][5]*a[2][4]*a[4][1]*a[0][3]*a[1][2]-a[3][5]*a[2][4]*a[4][1]*a[1][3]*a[0][2]+a[1][5]*a[2][4]*a[4][1]*a[0][2]*a[3][3]-a[1][5]*a[2][4]*a[4][1]*a[0][3]*a[3][2]+a[1][5]*a[3][4]*a[4][1]*a[2][2]*a[0][3]-a[1][5]*a[3][4]*a[4][1]*a[0][2]*a[2][3]-a[2][5]*a[3][4]*a[4][3]*a[0][2]*a[1][1]+a[2][5]*a[3][4]*a[4][3]*a[0][1]*a[1][2]-a[1][5]*a[3][4]*a[4][3]*a[0][1]*a[2][2]+a[1][5]*a[3][4]*a[4][3]*a[0][2]*a[2][1]+a[2][5]*a[1][4]*a[4][3]*a[3][1]*a[0][2]-a[2][5]*a[1][4]*a[4][3]*a[3][2]*a[0][1]-a[0][5]*a[1][4]*a[4][3]*a[3][1]*a[2][2]+a[0][5]*a[1][4]*a[4][3]*a[3][2]*a[2][1]-a[2][5]*a[0][4]*a[4][3]*a[3][1]*a[1][2]+a[1][5]*a[0][4]*a[4][3]*a[3][1]*a[2][2]-a[1][5]*a[0][4]*a[4][3]*a[3][2]*a[2][1]-a[0][5]*a[2][4]*a[4][1]*a[1][2]*a[3][3]+a[0][5]*a[2][4]*a[4][1]*a[1][3]*a[3][2]-a[1][5]*a[4][2]*a[3][4]*a[2][1]*a[0][3]+a[1][5]*a[4][2]*a[3][4]*a[2][3]*a[0][1]+a[2][5]*a[4][2]*a[3][4]*a[0][3]*a[1][1]-a[2][5]*a[4][2]*a[3][4]*a[0][1]*a[1][3]-a[1][5]*a[4][2]*a[2][4]*a[3][3]*a[0][1]+a[1][5]*a[4][2]*a[2][4]*a[0][3]*a[3][1]-a[4][5]*a[3][4]*a[1][1]*a[2][2]*a[0][3]+a[4][5]*a[3][4]*a[1][1]*a[0][2]*a[2][3]-a[4][5]*a[3][4]*a[0][2]*a[2][1]*a[1][3]+a[4][5]*a[3][4]*a[2][2]*a[0][1]*a[1][3]+a[4][5]*a[3][4]*a[2][1]*a[1][2]*a[0][3]-a[4][5]*a[3][4]*a[0][1]*a[1][2]*a[2][3]+a[1][5]*a[4][4]*a[2][2]*a[3][3]*a[0][1]+a[1][5]*a[4][4]*a[0][3]*a[3][2]*a[2][1]-a[1][5]*a[4][4]*a[3][3]*a[0][2]*a[2][1]-a[1][5]*a[4][4]*a[3][2]*a[2][3]*a[0][1]+a[1][5]*a[4][4]*a[0][2]*a[2][3]*a[3][1]+a[0][5]*a[4][4]*a[1][1]*a[3][2]*a[2][3]-a[0][5]*a[4][4]*a[1][1]*a[2][2]*a[3][3]-a[0][5]*a[4][4]*a[3][1]*a[1][2]*a[2][3]-a[0][5]*a[4][4]*a[3][2]*a[2][1]*a[1][3]+a[0][5]*a[4][4]*a[2][2]*a[3][1]*a[1][3]+a[0][5]*a[4][4]*a[2][1]*a[1][2]*a[3][3]-a[4][5]*a[1][4]*a[2][2]*a[3][3]*a[0][1]+a[4][5]*a[1][4]*a[2][2]*a[0][3]*a[3][1]+a[4][5]*a[1][4]*a[3][3]*a[0][2]*a[2][1]+a[4][5]*a[1][4]*a[3][2]*a[2][3]*a[0][1]-a[4][5]*a[1][4]*a[0][2]*a[2][3]*a[3][1]-a[4][5]*a[1][4]*a[0][3]*a[3][2]*a[2][1]-a[2][5]*a[4][4]*a[1][1]*a[0][3]*a[3][2]+a[2][5]*a[4][4]*a[1][1]*a[3][3]*a[0][2]-a[2][5]*a[4][4]*a[3][3]*a[0][1]*a[1][2]-a[2][5]*a[4][4]*a[3][1]*a[1][3]*a[0][2]+a[2][5]*a[4][4]*a[0][1]*a[1][3]*a[3][2]+a[2][5]*a[4][4]*a[0][3]*a[3][1]*a[1][2]+a[3][5]*a[4][4]*a[1][1]*a[2][2]*a[0][3]-a[3][5]*a[4][4]*a[1][1]*a[0][2]*a[2][3]+a[3][5]*a[4][4]*a[0][2]*a[2][1]*a[1][3]-a[3][5]*a[4][4]*a[2][2]*a[0][1]*a[1][3]-a[3][5]*a[4][4]*a[2][1]*a[1][2]*a[0][3]+a[3][5]*a[4][4]*a[0][1]*a[1][2]*a[2][3]-a[4][5]*a[0][4]*a[1][1]*a[3][2]*a[2][3]+a[4][5]*a[0][4]*a[1][1]*a[2][2]*a[3][3]+a[4][5]*a[0][4]*a[3][1]*a[1][2]*a[2][3]+a[4][5]*a[0][4]*a[3][2]*a[2][1]*a[1][3]-a[4][5]*a[0][4]*a[2][2]*a[3][1]*a[1][3]-a[4][5]*a[0][4]*a[2][1]*a[1][2]*a[3][3]-a[4][5]*a[2][4]*a[1][1]*a[3][3]*a[0][2]+a[4][5]*a[2][4]*a[1][1]*a[0][3]*a[3][2]+a[4][5]*a[2][4]*a[3][3]*a[0][1]*a[1][2]-a[4][5]*a[2][4]*a[0][1]*a[1][3]*a[3][2]-a[4][5]*a[2][4]*a[0][3]*a[3][1]*a[1][2]+a[4][5]*a[2][4]*a[3][1]*a[1][3]*a[0][2]+a[1][5]*a[4][2]*a[0][4]*a[3][3]*a[2][1]-a[1][5]*a[4][2]*a[0][4]*a[2][3]*a[3][1]+a[3][5]*a[0][4]*a[4][2]*a[2][3]*a[1][1]-a[3][5]*a[0][4]*a[4][2]*a[2][1]*a[1][3]-a[2][5]*a[0][4]*a[4][2]*a[3][3]*a[1][1]+a[2][5]*a[0][4]*a[4][2]*a[3][1]*a[1][3]-a[2][5]*a[4][1]*a[3][4]*a[0][3]*a[1][2]+a[2][5]*a[4][1]*a[3][4]*a[1][3]*a[0][2]+a[2][5]*a[1][4]*a[4][1]*a[0][3]*a[3][2]+a[0][5]*a[4][2]*a[2][4]*a[3][3]*a[1][1]-a[0][5]*a[4][2]*a[2][4]*a[3][1]*a[1][3]-a[0][5]*a[4][3]*a[2][4]*a[3][2]*a[1][1]+a[0][5]*a[4][3]*a[2][4]*a[3][1]*a[1][2])/det;
    ainv[1][5] = (-a[4][5]*a[2][4]*a[0][0]*a[3][3]*a[1][2]+a[4][5]*a[2][4]*a[0][0]*a[1][3]*a[3][2]+a[4][5]*a[2][4]*a[3][3]*a[1][0]*a[0][2]-a[4][5]*a[2][4]*a[1][3]*a[3][0]*a[0][2]+a[4][5]*a[2][4]*a[3][0]*a[0][3]*a[1][2]-a[4][5]*a[2][4]*a[1][0]*a[0][3]*a[3][2]+a[3][5]*a[2][4]*a[4][3]*a[0][0]*a[1][2]-a[3][5]*a[2][4]*a[4][3]*a[1][0]*a[0][2]+a[0][5]*a[4][2]*a[3][4]*a[2][3]*a[1][0]-a[0][5]*a[4][2]*a[3][4]*a[2][0]*a[1][3]-a[1][5]*a[2][4]*a[4][3]*a[3][2]*a[0][0]+a[1][5]*a[2][4]*a[4][3]*a[3][0]*a[0][2]-a[2][5]*a[3][4]*a[4][3]*a[0][0]*a[1][2]+a[2][5]*a[3][4]*a[4][3]*a[1][0]*a[0][2]+a[1][5]*a[3][4]*a[4][3]*a[0][0]*a[2][2]-a[1][5]*a[3][4]*a[4][3]*a[2][0]*a[0][2]+a[2][5]*a[1][4]*a[4][3]*a[3][2]*a[0][0]+a[0][5]*a[4][3]*a[2][4]*a[3][2]*a[1][0]-a[1][5]*a[4][0]*a[0][4]*a[3][2]*a[2][3]+a[1][5]*a[4][0]*a[0][4]*a[2][2]*a[3][3]-a[1][5]*a[4][2]*a[3][4]*a[2][3]*a[0][0]+a[1][5]*a[4][2]*a[3][4]*a[2][0]*a[0][3]+a[1][5]*a[4][2]*a[0][4]*a[2][3]*a[3][0]-a[1][5]*a[4][2]*a[0][4]*a[3][3]*a[2][0]-a[3][5]*a[0][4]*a[4][2]*a[2][3]*a[1][0]+a[3][5]*a[0][4]*a[4][2]*a[2][0]*a[1][3]-a[0][5]*a[4][2]*a[2][4]*a[1][0]*a[3][3]+a[0][5]*a[4][2]*a[2][4]*a[1][3]*a[3][0]-a[0][5]*a[4][3]*a[2][4]*a[3][0]*a[1][2]-a[3][5]*a[1][4]*a[4][3]*a[0][0]*a[2][2]+a[2][5]*a[0][4]*a[4][2]*a[1][0]*a[3][3]-a[2][5]*a[0][4]*a[4][2]*a[1][3]*a[3][0]+a[3][5]*a[1][4]*a[4][3]*a[2][0]*a[0][2]+a[3][5]*a[0][4]*a[4][3]*a[1][0]*a[2][2]-a[3][5]*a[0][4]*a[4][3]*a[1][2]*a[2][0]-a[2][5]*a[1][4]*a[4][3]*a[3][0]*a[0][2]+a[0][5]*a[2][4]*a[4][0]*a[3][3]*a[1][2]-a[0][5]*a[2][4]*a[4][0]*a[1][3]*a[3][2]+a[2][5]*a[3][4]*a[4][0]*a[0][3]*a[1][2]-a[2][5]*a[3][4]*a[4][0]*a[1][3]*a[0][2]+a[1][5]*a[0][4]*a[4][3]*a[3][2]*a[2][0]+a[0][5]*a[1][4]*a[4][3]*a[3][0]*a[2][2]-a[0][5]*a[1][4]*a[4][3]*a[3][2]*a[2][0]-a[2][5]*a[0][4]*a[4][3]*a[3][2]*a[1][0]+a[2][5]*a[0][4]*a[4][3]*a[3][0]*a[1][2]-a[3][5]*a[4][2]*a[2][4]*a[0][0]*a[1][3]+a[3][5]*a[4][2]*a[2][4]*a[1][0]*a[0][3]-a[1][5]*a[0][4]*a[4][3]*a[3][0]*a[2][2]+a[2][5]*a[1][4]*a[4][0]*a[0][2]*a[3][3]-a[2][5]*a[1][4]*a[4][0]*a[0][3]*a[3][2]+a[3][5]*a[1][4]*a[4][0]*a[2][2]*a[0][3]-a[3][5]*a[1][4]*a[4][0]*a[0][2]*a[2][3]+a[0][5]*a[3][4]*a[4][0]*a[2][2]*a[1][3]-a[0][5]*a[3][4]*a[4][0]*a[1][2]*a[2][3]-a[1][5]*a[2][4]*a[4][0]*a[0][2]*a[3][3]+a[1][5]*a[2][4]*a[4][0]*a[0][3]*a[3][2]-a[3][5]*a[2][4]*a[4][0]*a[0][3]*a[1][2]+a[3][5]*a[2][4]*a[4][0]*a[1][3]*a[0][2]-a[0][5]*a[1][4]*a[4][2]*a[2][3]*a[3][0]+a[0][5]*a[1][4]*a[4][2]*a[3][3]*a[2][0]-a[4][5]*a[3][4]*a[0][0]*a[2][2]*a[1][3]+a[4][5]*a[3][4]*a[0][0]*a[1][2]*a[2][3]+a[4][5]*a[3][4]*a[2][2]*a[1][0]*a[0][3]+a[4][5]*a[3][4]*a[2][0]*a[0][2]*a[1][3]-a[4][5]*a[3][4]*a[1][0]*a[0][2]*a[2][3]-a[4][5]*a[3][4]*a[1][2]*a[2][0]*a[0][3]+a[2][5]*a[4][2]*a[3][4]*a[0][0]*a[1][3]-a[2][5]*a[4][2]*a[3][4]*a[1][0]*a[0][3]+a[1][5]*a[4][2]*a[2][4]*a[0][0]*a[3][3]-a[1][5]*a[4][2]*a[2][4]*a[3][0]*a[0][3]-a[3][5]*a[0][4]*a[4][0]*a[2][2]*a[1][3]+a[3][5]*a[0][4]*a[4][0]*a[1][2]*a[2][3]+a[3][5]*a[1][4]*a[4][2]*a[2][3]*a[0][0]-a[3][5]*a[1][4]*a[4][2]*a[2][0]*a[0][3]-a[2][5]*a[1][4]*a[4][2]*a[0][0]*a[3][3]+a[2][5]*a[1][4]*a[4][2]*a[3][0]*a[0][3]-a[0][5]*a[3][4]*a[4][3]*a[1][0]*a[2][2]+a[0][5]*a[3][4]*a[4][3]*a[1][2]*a[2][0]+a[0][5]*a[1][4]*a[4][0]*a[3][2]*a[2][3]-a[0][5]*a[1][4]*a[4][0]*a[2][2]*a[3][3]+a[1][5]*a[4][4]*a[0][0]*a[3][2]*a[2][3]-a[1][5]*a[4][4]*a[0][0]*a[2][2]*a[3][3]+a[1][5]*a[4][4]*a[2][0]*a[0][2]*a[3][3]-a[1][5]*a[4][4]*a[3][2]*a[2][0]*a[0][3]-a[1][5]*a[4][4]*a[3][0]*a[0][2]*a[2][3]+a[1][5]*a[4][4]*a[2][2]*a[3][0]*a[0][3]-a[4][5]*a[1][4]*a[0][0]*a[3][2]*a[2][3]+a[4][5]*a[1][4]*a[0][0]*a[2][2]*a[3][3]-a[4][5]*a[1][4]*a[2][2]*a[3][0]*a[0][3]-a[4][5]*a[1][4]*a[2][0]*a[0][2]*a[3][3]+a[4][5]*a[1][4]*a[3][2]*a[2][0]*a[0][3]+a[4][5]*a[1][4]*a[3][0]*a[0][2]*a[2][3]-a[0][5]*a[4][4]*a[2][2]*a[1][3]*a[3][0]+a[0][5]*a[4][4]*a[2][2]*a[3][3]*a[1][0]-a[0][5]*a[4][4]*a[3][2]*a[2][3]*a[1][0]+a[0][5]*a[4][4]*a[1][2]*a[2][3]*a[3][0]-a[0][5]*a[4][4]*a[3][3]*a[1][2]*a[2][0]+a[0][5]*a[4][4]*a[1][3]*a[3][2]*a[2][0]-a[2][5]*a[4][4]*a[0][0]*a[1][3]*a[3][2]+a[2][5]*a[4][4]*a[0][0]*a[3][3]*a[1][2]-a[2][5]*a[4][4]*a[3][0]*a[0][3]*a[1][2]+a[2][5]*a[4][4]*a[1][0]*a[0][3]*a[3][2]-a[2][5]*a[4][4]*a[3][3]*a[1][0]*a[0][2]+a[2][5]*a[4][4]*a[1][3]*a[3][0]*a[0][2]-a[2][5]*a[0][4]*a[4][0]*a[3][3]*a[1][2]+a[2][5]*a[0][4]*a[4][0]*a[1][3]*a[3][2]-a[1][5]*a[3][4]*a[4][0]*a[2][2]*a[0][3]+a[1][5]*a[3][4]*a[4][0]*a[0][2]*a[2][3]+a[3][5]*a[4][4]*a[0][0]*a[2][2]*a[1][3]-a[3][5]*a[4][4]*a[0][0]*a[1][2]*a[2][3]-a[3][5]*a[4][4]*a[2][2]*a[1][0]*a[0][3]-a[3][5]*a[4][4]*a[2][0]*a[0][2]*a[1][3]+a[3][5]*a[4][4]*a[1][0]*a[0][2]*a[2][3]+a[3][5]*a[4][4]*a[1][2]*a[2][0]*a[0][3]-a[4][5]*a[0][4]*a[2][2]*a[3][3]*a[1][0]+a[4][5]*a[0][4]*a[2][2]*a[1][3]*a[3][0]+a[4][5]*a[0][4]*a[3][3]*a[1][2]*a[2][0]-a[4][5]*a[0][4]*a[1][3]*a[3][2]*a[2][0]-a[4][5]*a[0][4]*a[1][2]*a[2][3]*a[3][0]+a[4][5]*a[0][4]*a[3][2]*a[2][3]*a[1][0])/det;
    ainv[2][5] = (-a[2][5]*a[0][4]*a[4][1]*a[1][0]*a[3][3]-a[2][5]*a[1][4]*a[4][0]*a[3][3]*a[0][1]+a[0][5]*a[4][3]*a[2][4]*a[3][0]*a[1][1]-a[1][5]*a[4][1]*a[2][4]*a[0][0]*a[3][3]-a[0][5]*a[2][4]*a[4][0]*a[3][3]*a[1][1]+a[0][5]*a[2][4]*a[4][0]*a[3][1]*a[1][3]-a[1][5]*a[0][4]*a[4][1]*a[2][3]*a[3][0]+a[1][5]*a[0][4]*a[4][1]*a[3][3]*a[2][0]-a[0][5]*a[4][1]*a[3][4]*a[2][3]*a[1][0]+a[0][5]*a[4][1]*a[3][4]*a[2][0]*a[1][3]+a[3][5]*a[4][1]*a[2][4]*a[0][0]*a[1][3]-a[3][5]*a[4][1]*a[2][4]*a[1][0]*a[0][3]+a[1][5]*a[2][4]*a[4][0]*a[3][3]*a[0][1]-a[1][5]*a[2][4]*a[4][0]*a[0][3]*a[3][1]-a[2][5]*a[4][1]*a[3][4]*a[0][0]*a[1][3]+a[2][5]*a[4][1]*a[3][4]*a[1][0]*a[0][3]+a[4][5]*a[2][4]*a[0][0]*a[1][1]*a[3][3]-a[4][5]*a[2][4]*a[0][0]*a[3][1]*a[1][3]-a[4][5]*a[2][4]*a[1][1]*a[3][0]*a[0][3]-a[4][5]*a[2][4]*a[1][0]*a[0][1]*a[3][3]+a[4][5]*a[2][4]*a[3][0]*a[0][1]*a[1][3]+a[4][5]*a[2][4]*a[3][1]*a[1][0]*a[0][3]+a[4][5]*a[0][4]*a[1][1]*a[2][3]*a[3][0]-a[4][5]*a[0][4]*a[1][1]*a[3][3]*a[2][0]+a[4][5]*a[0][4]*a[3][3]*a[1][0]*a[2][1]+a[4][5]*a[0][4]*a[3][1]*a[1][3]*a[2][0]-a[4][5]*a[0][4]*a[2][3]*a[1][0]*a[3][1]-a[4][5]*a[0][4]*a[2][1]*a[1][3]*a[3][0]+a[3][5]*a[4][4]*a[0][0]*a[1][1]*a[2][3]-a[3][5]*a[4][4]*a[0][0]*a[2][1]*a[1][3]-a[3][5]*a[4][4]*a[1][1]*a[2][0]*a[0][3]-a[3][5]*a[4][4]*a[1][0]*a[0][1]*a[2][3]+a[3][5]*a[4][4]*a[2][0]*a[0][1]*a[1][3]+a[3][5]*a[4][4]*a[2][1]*a[1][0]*a[0][3]-a[0][5]*a[4][4]*a[1][1]*a[2][3]*a[3][0]+a[0][5]*a[4][4]*a[1][1]*a[3][3]*a[2][0]+a[0][5]*a[4][4]*a[2][1]*a[1][3]*a[3][0]-a[0][5]*a[4][4]*a[3][3]*a[1][0]*a[2][1]+a[0][5]*a[4][4]*a[2][3]*a[1][0]*a[3][1]-a[0][5]*a[4][4]*a[3][1]*a[1][3]*a[2][0]+a[4][5]*a[1][4]*a[0][0]*a[2][3]*a[3][1]-a[4][5]*a[1][4]*a[0][0]*a[3][3]*a[2][1]+a[4][5]*a[1][4]*a[3][3]*a[2][0]*a[0][1]-a[4][5]*a[1][4]*a[2][0]*a[0][3]*a[3][1]+a[4][5]*a[1][4]*a[3][0]*a[0][3]*a[2][1]-a[4][5]*a[1][4]*a[2][3]*a[3][0]*a[0][1]+a[2][5]*a[4][4]*a[0][0]*a[3][1]*a[1][3]-a[2][5]*a[4][4]*a[0][0]*a[1][1]*a[3][3]-a[2][5]*a[4][4]*a[3][1]*a[1][0]*a[0][3]+a[2][5]*a[4][4]*a[1][1]*a[3][0]*a[0][3]+a[2][5]*a[4][4]*a[1][0]*a[0][1]*a[3][3]-a[2][5]*a[4][4]*a[3][0]*a[0][1]*a[1][3]-a[1][5]*a[4][4]*a[0][0]*a[2][3]*a[3][1]+a[1][5]*a[4][4]*a[0][0]*a[3][3]*a[2][1]-a[1][5]*a[4][4]*a[3][0]*a[0][3]*a[2][1]+a[1][5]*a[4][4]*a[2][3]*a[3][0]*a[0][1]-a[1][5]*a[4][4]*a[3][3]*a[2][0]*a[0][1]+a[1][5]*a[4][4]*a[2][0]*a[0][3]*a[3][1]+a[4][5]*a[3][4]*a[0][0]*a[2][1]*a[1][3]-a[4][5]*a[3][4]*a[0][0]*a[1][1]*a[2][3]-a[4][5]*a[3][4]*a[2][1]*a[1][0]*a[0][3]+a[4][5]*a[3][4]*a[1][1]*a[2][0]*a[0][3]+a[4][5]*a[3][4]*a[1][0]*a[0][1]*a[2][3]-a[4][5]*a[3][4]*a[2][0]*a[0][1]*a[1][3]-a[0][5]*a[4][3]*a[2][4]*a[3][1]*a[1][0]+a[3][5]*a[1][4]*a[4][3]*a[0][0]*a[2][1]-a[3][5]*a[1][4]*a[4][3]*a[2][0]*a[0][1]+a[2][5]*a[4][1]*a[1][4]*a[0][0]*a[3][3]-a[2][5]*a[4][1]*a[1][4]*a[3][0]*a[0][3]+a[3][5]*a[0][4]*a[4][3]*a[2][0]*a[1][1]-a[3][5]*a[0][4]*a[4][3]*a[1][0]*a[2][1]-a[0][5]*a[3][4]*a[4][3]*a[2][0]*a[1][1]+a[0][5]*a[3][4]*a[4][3]*a[1][0]*a[2][1]-a[3][5]*a[2][4]*a[4][3]*a[0][0]*a[1][1]+a[3][5]*a[2][4]*a[4][3]*a[1][0]*a[0][1]+a[0][5]*a[4][1]*a[1][4]*a[2][3]*a[3][0]-a[0][5]*a[4][1]*a[1][4]*a[3][3]*a[2][0]-a[3][5]*a[4][1]*a[1][4]*a[2][3]*a[0][0]+a[3][5]*a[4][1]*a[1][4]*a[2][0]*a[0][3]+a[1][5]*a[2][4]*a[4][3]*a[0][0]*a[3][1]-a[1][5]*a[2][4]*a[4][3]*a[3][0]*a[0][1]+a[3][5]*a[4][1]*a[0][4]*a[2][3]*a[1][0]-a[3][5]*a[4][1]*a[0][4]*a[2][0]*a[1][3]+a[2][5]*a[3][4]*a[4][3]*a[0][0]*a[1][1]-a[2][5]*a[3][4]*a[4][3]*a[1][0]*a[0][1]-a[1][5]*a[3][4]*a[4][3]*a[0][0]*a[2][1]+a[1][5]*a[3][4]*a[4][3]*a[2][0]*a[0][1]+a[2][5]*a[0][4]*a[4][1]*a[1][3]*a[3][0]+a[1][5]*a[4][1]*a[3][4]*a[2][3]*a[0][0]-a[1][5]*a[4][1]*a[3][4]*a[2][0]*a[0][3]-a[2][5]*a[1][4]*a[4][3]*a[0][0]*a[3][1]+a[2][5]*a[1][4]*a[4][3]*a[3][0]*a[0][1]+a[0][5]*a[1][4]*a[4][3]*a[2][0]*a[3][1]-a[0][5]*a[1][4]*a[4][3]*a[2][1]*a[3][0]-a[2][5]*a[0][4]*a[4][3]*a[3][0]*a[1][1]+a[2][5]*a[0][4]*a[4][3]*a[3][1]*a[1][0]-a[1][5]*a[0][4]*a[4][3]*a[2][0]*a[3][1]+a[1][5]*a[0][4]*a[4][3]*a[2][1]*a[3][0]-a[3][5]*a[0][4]*a[4][0]*a[2][3]*a[1][1]+a[3][5]*a[0][4]*a[4][0]*a[2][1]*a[1][3]-a[0][5]*a[1][4]*a[4][0]*a[2][3]*a[3][1]+a[0][5]*a[1][4]*a[4][0]*a[3][3]*a[2][1]+a[2][5]*a[0][4]*a[4][0]*a[3][3]*a[1][1]-a[2][5]*a[0][4]*a[4][0]*a[3][1]*a[1][3]-a[1][5]*a[3][4]*a[4][0]*a[2][3]*a[0][1]+a[1][5]*a[3][4]*a[4][0]*a[2][1]*a[0][3]+a[1][5]*a[4][0]*a[0][4]*a[2][3]*a[3][1]-a[1][5]*a[4][0]*a[0][4]*a[3][3]*a[2][1]+a[3][5]*a[2][4]*a[4][0]*a[0][3]*a[1][1]-a[3][5]*a[2][4]*a[4][0]*a[0][1]*a[1][3]-a[2][5]*a[3][4]*a[4][0]*a[0][3]*a[1][1]+a[2][5]*a[3][4]*a[4][0]*a[0][1]*a[1][3]+a[2][5]*a[1][4]*a[4][0]*a[0][3]*a[3][1]-a[3][5]*a[1][4]*a[4][0]*a[2][1]*a[0][3]+a[3][5]*a[1][4]*a[4][0]*a[2][3]*a[0][1]+a[0][5]*a[3][4]*a[4][0]*a[2][3]*a[1][1]-a[0][5]*a[3][4]*a[4][0]*a[2][1]*a[1][3]+a[1][5]*a[4][1]*a[2][4]*a[3][0]*a[0][3]+a[0][5]*a[4][1]*a[2][4]*a[1][0]*a[3][3]-a[0][5]*a[4][1]*a[2][4]*a[1][3]*a[3][0])/det;
    ainv[3][5] = (a[3][5]*a[0][4]*a[4][0]*a[2][2]*a[1][1]-a[0][5]*a[1][4]*a[4][0]*a[3][2]*a[2][1]+a[0][5]*a[3][4]*a[4][1]*a[1][0]*a[2][2]-a[0][5]*a[3][4]*a[4][1]*a[1][2]*a[2][0]-a[2][5]*a[4][0]*a[0][4]*a[3][2]*a[1][1]+a[2][5]*a[4][0]*a[0][4]*a[3][1]*a[1][2]-a[0][5]*a[4][0]*a[3][4]*a[2][2]*a[1][1]+a[0][5]*a[4][0]*a[3][4]*a[2][1]*a[1][2]-a[2][5]*a[4][1]*a[1][4]*a[3][2]*a[0][0]+a[2][5]*a[4][1]*a[1][4]*a[3][0]*a[0][2]-a[3][5]*a[2][4]*a[4][1]*a[0][0]*a[1][2]+a[3][5]*a[2][4]*a[4][1]*a[1][0]*a[0][2]+a[0][5]*a[3][4]*a[4][2]*a[2][0]*a[1][1]-a[0][5]*a[3][4]*a[4][2]*a[1][0]*a[2][1]-a[3][5]*a[0][4]*a[4][0]*a[2][1]*a[1][2]-a[1][5]*a[3][4]*a[4][1]*a[0][0]*a[2][2]+a[1][5]*a[3][4]*a[4][1]*a[2][0]*a[0][2]+a[1][5]*a[2][4]*a[4][1]*a[3][2]*a[0][0]-a[1][5]*a[2][4]*a[4][1]*a[3][0]*a[0][2]-a[0][5]*a[4][2]*a[2][4]*a[3][0]*a[1][1]+a[0][5]*a[4][2]*a[2][4]*a[3][1]*a[1][0]+a[3][5]*a[4][2]*a[2][4]*a[0][0]*a[1][1]-a[3][5]*a[4][2]*a[2][4]*a[1][0]*a[0][1]-a[1][5]*a[4][2]*a[2][4]*a[0][0]*a[3][1]+a[1][5]*a[4][2]*a[2][4]*a[3][0]*a[0][1]-a[3][5]*a[4][2]*a[1][4]*a[0][0]*a[2][1]+a[3][5]*a[4][2]*a[1][4]*a[2][0]*a[0][1]+a[3][5]*a[4][1]*a[1][4]*a[0][0]*a[2][2]-a[3][5]*a[4][1]*a[1][4]*a[2][0]*a[0][2]-a[2][5]*a[4][2]*a[3][4]*a[0][0]*a[1][1]+a[2][5]*a[4][2]*a[3][4]*a[1][0]*a[0][1]+a[1][5]*a[4][0]*a[3][4]*a[0][1]*a[2][2]-a[1][5]*a[4][0]*a[3][4]*a[0][2]*a[2][1]+a[2][5]*a[4][2]*a[0][4]*a[3][0]*a[1][1]-a[2][5]*a[4][2]*a[0][4]*a[3][1]*a[1][0]+a[2][5]*a[4][1]*a[0][4]*a[3][2]*a[1][0]-a[2][5]*a[4][1]*a[0][4]*a[3][0]*a[1][2]-a[3][5]*a[0][4]*a[4][2]*a[2][0]*a[1][1]+a[3][5]*a[0][4]*a[4][2]*a[1][0]*a[2][1]+a[1][5]*a[3][4]*a[4][2]*a[0][0]*a[2][1]-a[1][5]*a[3][4]*a[4][2]*a[2][0]*a[0][1]+a[1][5]*a[4][1]*a[0][4]*a[3][0]*a[2][2]-a[1][5]*a[4][1]*a[0][4]*a[3][2]*a[2][0]-a[0][5]*a[1][4]*a[4][1]*a[3][0]*a[2][2]+a[0][5]*a[1][4]*a[4][1]*a[3][2]*a[2][0]-a[4][5]*a[3][4]*a[0][0]*a[2][1]*a[1][2]+a[4][5]*a[3][4]*a[2][1]*a[1][0]*a[0][2]-a[4][5]*a[3][4]*a[1][1]*a[2][0]*a[0][2]-a[4][5]*a[3][4]*a[1][0]*a[0][1]*a[2][2]+a[4][5]*a[3][4]*a[2][0]*a[0][1]*a[1][2]-a[4][5]*a[1][4]*a[0][0]*a[2][2]*a[3][1]+a[4][5]*a[1][4]*a[0][0]*a[3][2]*a[2][1]+a[4][5]*a[1][4]*a[2][2]*a[3][0]*a[0][1]+a[4][5]*a[1][4]*a[2][0]*a[0][2]*a[3][1]-a[4][5]*a[1][4]*a[3][0]*a[0][2]*a[2][1]-a[4][5]*a[1][4]*a[3][2]*a[2][0]*a[0][1]+a[3][5]*a[4][4]*a[0][0]*a[2][1]*a[1][2]-a[3][5]*a[4][4]*a[0][0]*a[1][1]*a[2][2]-a[3][5]*a[4][4]*a[2][1]*a[1][0]*a[0][2]+a[3][5]*a[4][4]*a[1][1]*a[2][0]*a[0][2]+a[3][5]*a[4][4]*a[1][0]*a[0][1]*a[2][2]-a[3][5]*a[4][4]*a[2][0]*a[0][1]*a[1][2]+a[2][5]*a[4][4]*a[0][0]*a[1][1]*a[3][2]-a[2][5]*a[4][4]*a[0][0]*a[3][1]*a[1][2]-a[2][5]*a[4][4]*a[1][1]*a[3][0]*a[0][2]+a[2][5]*a[4][4]*a[3][1]*a[1][0]*a[0][2]-a[2][5]*a[4][4]*a[1][0]*a[0][1]*a[3][2]+a[2][5]*a[4][4]*a[3][0]*a[0][1]*a[1][2]-a[3][5]*a[1][4]*a[4][0]*a[0][1]*a[2][2]+a[3][5]*a[1][4]*a[4][0]*a[0][2]*a[2][1]+a[2][5]*a[3][4]*a[4][1]*a[0][0]*a[1][2]-a[2][5]*a[3][4]*a[4][1]*a[1][0]*a[0][2]+a[4][5]*a[2][4]*a[0][0]*a[3][1]*a[1][2]-a[4][5]*a[2][4]*a[0][0]*a[1][1]*a[3][2]-a[4][5]*a[2][4]*a[3][1]*a[1][0]*a[0][2]+a[4][5]*a[2][4]*a[1][1]*a[3][0]*a[0][2]+a[4][5]*a[2][4]*a[1][0]*a[0][1]*a[3][2]-a[4][5]*a[2][4]*a[3][0]*a[0][1]*a[1][2]+a[0][5]*a[2][4]*a[4][0]*a[3][2]*a[1][1]-a[0][5]*a[2][4]*a[4][0]*a[3][1]*a[1][2]-a[0][5]*a[2][4]*a[4][1]*a[3][2]*a[1][0]+a[0][5]*a[2][4]*a[4][1]*a[3][0]*a[1][2]+a[1][5]*a[4][2]*a[0][4]*a[2][0]*a[3][1]-a[1][5]*a[4][2]*a[0][4]*a[2][1]*a[3][0]+a[2][5]*a[1][4]*a[4][2]*a[0][0]*a[3][1]-a[2][5]*a[1][4]*a[4][2]*a[3][0]*a[0][1]+a[2][5]*a[1][4]*a[4][0]*a[0][1]*a[3][2]-a[2][5]*a[1][4]*a[4][0]*a[0][2]*a[3][1]+a[2][5]*a[3][4]*a[4][0]*a[0][2]*a[1][1]-a[2][5]*a[3][4]*a[4][0]*a[0][1]*a[1][2]-a[3][5]*a[2][4]*a[4][0]*a[0][2]*a[1][1]+a[3][5]*a[2][4]*a[4][0]*a[0][1]*a[1][2]-a[1][5]*a[2][4]*a[4][0]*a[0][1]*a[3][2]+a[1][5]*a[2][4]*a[4][0]*a[0][2]*a[3][1]-a[3][5]*a[0][4]*a[4][1]*a[1][0]*a[2][2]+a[3][5]*a[0][4]*a[4][1]*a[1][2]*a[2][0]-a[0][5]*a[1][4]*a[4][2]*a[2][0]*a[3][1]+a[0][5]*a[1][4]*a[4][2]*a[2][1]*a[3][0]-a[1][5]*a[0][4]*a[4][0]*a[3][1]*a[2][2]+a[1][5]*a[0][4]*a[4][0]*a[3][2]*a[2][1]+a[0][5]*a[1][4]*a[4][0]*a[3][1]*a[2][2]+a[1][5]*a[4][4]*a[0][0]*a[2][2]*a[3][1]-a[1][5]*a[4][4]*a[0][0]*a[3][2]*a[2][1]-a[1][5]*a[4][4]*a[2][2]*a[3][0]*a[0][1]-a[1][5]*a[4][4]*a[2][0]*a[0][2]*a[3][1]+a[1][5]*a[4][4]*a[3][0]*a[0][2]*a[2][1]+a[1][5]*a[4][4]*a[3][2]*a[2][0]*a[0][1]+a[0][5]*a[4][4]*a[1][1]*a[2][2]*a[3][0]-a[0][5]*a[4][4]*a[1][1]*a[3][2]*a[2][0]-a[0][5]*a[4][4]*a[2][1]*a[1][2]*a[3][0]-a[0][5]*a[4][4]*a[2][2]*a[1][0]*a[3][1]+a[0][5]*a[4][4]*a[3][2]*a[1][0]*a[2][1]+a[0][5]*a[4][4]*a[3][1]*a[1][2]*a[2][0]-a[4][5]*a[0][4]*a[1][1]*a[2][2]*a[3][0]+a[4][5]*a[0][4]*a[1][1]*a[3][2]*a[2][0]+a[4][5]*a[0][4]*a[2][2]*a[1][0]*a[3][1]-a[4][5]*a[0][4]*a[3][1]*a[1][2]*a[2][0]-a[4][5]*a[0][4]*a[3][2]*a[1][0]*a[2][1]+a[4][5]*a[0][4]*a[2][1]*a[1][2]*a[3][0]+a[4][5]*a[3][4]*a[0][0]*a[1][1]*a[2][2])/det;
    ainv[4][5] = (-a[0][0]*a[1][1]*a[4][3]*a[3][2]*a[2][5]+a[3][2]*a[2][3]*a[4][0]*a[0][1]*a[1][5]-a[2][2]*a[3][1]*a[1][0]*a[0][3]*a[4][5]+a[0][0]*a[1][1]*a[3][2]*a[2][3]*a[4][5]+a[3][3]*a[4][0]*a[0][2]*a[2][1]*a[1][5]+a[3][2]*a[2][3]*a[4][1]*a[1][0]*a[0][5]-a[3][3]*a[2][0]*a[0][1]*a[1][2]*a[4][5]-a[3][2]*a[2][3]*a[1][0]*a[0][1]*a[4][5]+a[3][3]*a[4][0]*a[0][1]*a[1][2]*a[2][5]-a[3][3]*a[4][2]*a[1][0]*a[0][1]*a[2][5]+a[3][3]*a[4][1]*a[1][0]*a[0][2]*a[2][5]-a[3][3]*a[2][0]*a[0][2]*a[4][1]*a[1][5]+a[3][3]*a[4][2]*a[2][0]*a[0][1]*a[1][5]-a[3][3]*a[2][1]*a[1][2]*a[4][0]*a[0][5]-a[3][3]*a[2][1]*a[1][0]*a[0][2]*a[4][5]+a[3][1]*a[1][2]*a[2][3]*a[4][0]*a[0][5]+a[3][1]*a[1][3]*a[4][0]*a[0][2]*a[2][5]+a[3][3]*a[4][1]*a[1][2]*a[2][0]*a[0][5]+a[3][3]*a[4][2]*a[2][1]*a[1][0]*a[0][5]+a[3][0]*a[0][2]*a[2][3]*a[4][1]*a[1][5]+a[3][2]*a[2][0]*a[0][1]*a[1][3]*a[4][5]+a[3][0]*a[0][3]*a[4][1]*a[1][2]*a[2][5]-a[3][1]*a[1][3]*a[2][0]*a[0][2]*a[4][5]+a[3][1]*a[1][3]*a[4][2]*a[2][0]*a[0][5]+a[3][2]*a[2][0]*a[0][3]*a[4][1]*a[1][5]+a[3][2]*a[2][1]*a[1][3]*a[4][0]*a[0][5]-a[4][3]*a[3][0]*a[0][2]*a[2][1]*a[1][5]-a[4][3]*a[3][0]*a[0][1]*a[1][2]*a[2][5]+a[3][1]*a[1][0]*a[0][2]*a[2][3]*a[4][5]+a[3][0]*a[0][2]*a[2][1]*a[1][3]*a[4][5]+a[3][1]*a[1][2]*a[2][0]*a[0][3]*a[4][5]+a[3][0]*a[0][3]*a[4][2]*a[2][1]*a[1][5]-a[3][0]*a[0][3]*a[2][1]*a[1][2]*a[4][5]+a[3][2]*a[2][1]*a[1][0]*a[0][3]*a[4][5]-a[4][2]*a[2][3]*a[3][1]*a[1][0]*a[0][5]+a[4][2]*a[2][3]*a[1][0]*a[0][1]*a[3][5]-a[4][2]*a[2][3]*a[3][0]*a[0][1]*a[1][5]+a[4][3]*a[2][1]*a[1][0]*a[0][2]*a[3][5]+a[4][3]*a[2][0]*a[0][1]*a[1][2]*a[3][5]+a[4][3]*a[2][0]*a[0][2]*a[3][1]*a[1][5]-a[4][3]*a[3][1]*a[1][2]*a[2][0]*a[0][5]-a[4][3]*a[3][2]*a[2][1]*a[1][0]*a[0][5]-a[4][3]*a[3][1]*a[1][0]*a[0][2]*a[2][5]-a[4][1]*a[1][2]*a[2][3]*a[3][0]*a[0][5]+a[3][0]*a[0][1]*a[1][2]*a[2][3]*a[4][5]+a[3][1]*a[1][0]*a[0][3]*a[4][2]*a[2][5]+a[3][0]*a[0][1]*a[1][3]*a[4][2]*a[2][5]-a[4][2]*a[2][1]*a[1][3]*a[3][0]*a[0][5]-a[4][3]*a[3][2]*a[2][0]*a[0][1]*a[1][5]+a[4][3]*a[2][1]*a[1][2]*a[3][0]*a[0][5]-a[4][0]*a[0][2]*a[2][3]*a[3][1]*a[1][5]-a[4][0]*a[0][3]*a[3][1]*a[1][2]*a[2][5]-a[4][0]*a[0][3]*a[3][2]*a[2][1]*a[1][5]+a[4][0]*a[0][3]*a[2][1]*a[1][2]*a[3][5]-a[4][0]*a[0][2]*a[2][1]*a[1][3]*a[3][5]-a[4][0]*a[0][1]*a[1][2]*a[2][3]*a[3][5]-a[4][2]*a[2][0]*a[0][1]*a[1][3]*a[3][5]-a[4][1]*a[1][0]*a[0][3]*a[3][2]*a[2][5]-a[4][1]*a[1][0]*a[0][2]*a[2][3]*a[3][5]-a[4][0]*a[0][1]*a[1][3]*a[3][2]*a[2][5]-a[4][1]*a[1][2]*a[2][0]*a[0][3]*a[3][5]-a[4][2]*a[2][1]*a[1][0]*a[0][3]*a[3][5]-a[4][2]*a[2][0]*a[0][3]*a[3][1]*a[1][5]+a[4][1]*a[1][3]*a[2][0]*a[0][2]*a[3][5]-a[4][1]*a[1][3]*a[3][2]*a[2][0]*a[0][5]-a[4][1]*a[1][3]*a[3][0]*a[0][2]*a[2][5]+a[4][3]*a[3][2]*a[1][0]*a[0][1]*a[2][5]-a[2][2]*a[3][3]*a[4][0]*a[0][1]*a[1][5]+a[2][2]*a[3][3]*a[1][0]*a[0][1]*a[4][5]-a[2][2]*a[4][3]*a[1][0]*a[0][1]*a[3][5]-a[2][2]*a[3][0]*a[0][3]*a[4][1]*a[1][5]-a[2][2]*a[3][0]*a[0][1]*a[1][3]*a[4][5]+a[2][2]*a[4][1]*a[1][3]*a[3][0]*a[0][5]+a[2][2]*a[4][0]*a[0][3]*a[3][1]*a[1][5]+a[2][2]*a[4][0]*a[0][1]*a[1][3]*a[3][5]+a[2][2]*a[4][3]*a[3][1]*a[1][0]*a[0][5]+a[2][2]*a[4][1]*a[1][0]*a[0][3]*a[3][5]-a[2][2]*a[3][1]*a[1][3]*a[4][0]*a[0][5]+a[2][2]*a[4][3]*a[3][0]*a[0][1]*a[1][5]-a[2][2]*a[3][3]*a[4][1]*a[1][0]*a[0][5]+a[1][1]*a[2][2]*a[3][0]*a[0][3]*a[4][5]-a[1][1]*a[2][2]*a[4][3]*a[3][0]*a[0][5]-a[1][1]*a[2][2]*a[4][0]*a[0][3]*a[3][5]+a[1][1]*a[2][2]*a[3][3]*a[4][0]*a[0][5]+a[1][1]*a[4][2]*a[2][3]*a[3][0]*a[0][5]+a[1][1]*a[4][0]*a[0][3]*a[3][2]*a[2][5]-a[1][1]*a[4][3]*a[2][0]*a[0][2]*a[3][5]-a[1][1]*a[3][3]*a[4][0]*a[0][2]*a[2][5]-a[1][1]*a[3][2]*a[2][3]*a[4][0]*a[0][5]+a[1][1]*a[3][3]*a[2][0]*a[0][2]*a[4][5]-a[1][1]*a[3][0]*a[0][2]*a[2][3]*a[4][5]-a[1][1]*a[3][3]*a[4][2]*a[2][0]*a[0][5]+a[1][1]*a[4][3]*a[3][2]*a[2][0]*a[0][5]-a[1][1]*a[3][0]*a[0][3]*a[4][2]*a[2][5]+a[1][1]*a[4][0]*a[0][2]*a[2][3]*a[3][5]-a[1][1]*a[3][2]*a[2][0]*a[0][3]*a[4][5]+a[1][1]*a[4][3]*a[3][0]*a[0][2]*a[2][5]+a[1][1]*a[4][2]*a[2][0]*a[0][3]*a[3][5]-a[0][0]*a[1][1]*a[2][2]*a[3][3]*a[4][5]+a[0][0]*a[1][1]*a[2][2]*a[4][3]*a[3][5]-a[0][0]*a[1][1]*a[4][2]*a[2][3]*a[3][5]+a[0][0]*a[1][1]*a[3][3]*a[4][2]*a[2][5]-a[0][0]*a[2][2]*a[4][3]*a[3][1]*a[1][5]+a[0][0]*a[2][2]*a[3][3]*a[4][1]*a[1][5]+a[0][0]*a[2][2]*a[3][1]*a[1][3]*a[4][5]-a[0][0]*a[2][2]*a[4][1]*a[1][3]*a[3][5]-a[0][0]*a[3][3]*a[4][1]*a[1][2]*a[2][5]-a[0][0]*a[3][1]*a[1][2]*a[2][3]*a[4][5]+a[0][0]*a[4][3]*a[3][2]*a[2][1]*a[1][5]-a[0][0]*a[4][3]*a[2][1]*a[1][2]*a[3][5]+a[0][0]*a[4][1]*a[1][2]*a[2][3]*a[3][5]+a[0][0]*a[4][2]*a[2][3]*a[3][1]*a[1][5]-a[0][0]*a[3][3]*a[4][2]*a[2][1]*a[1][5]+a[0][0]*a[3][3]*a[2][1]*a[1][2]*a[4][5]-a[0][0]*a[3][2]*a[2][1]*a[1][3]*a[4][5]+a[0][0]*a[4][1]*a[1][3]*a[3][2]*a[2][5]-a[0][0]*a[3][2]*a[2][3]*a[4][1]*a[1][5]-a[0][0]*a[3][1]*a[1][3]*a[4][2]*a[2][5]+a[0][0]*a[4][2]*a[2][1]*a[1][3]*a[3][5]+a[0][0]*a[4][3]*a[3][1]*a[1][2]*a[2][5])/det;
    ainv[5][5] = (-a[0][0]*a[4][1]*a[1][3]*a[3][2]*a[2][4]-a[0][0]*a[1][1]*a[3][2]*a[2][3]*a[4][4]+a[2][2]*a[3][0]*a[0][3]*a[4][1]*a[1][4]-a[2][2]*a[4][3]*a[3][1]*a[1][0]*a[0][4]+a[0][0]*a[1][1]*a[4][2]*a[2][3]*a[3][4]-a[3][2]*a[2][3]*a[4][1]*a[1][0]*a[0][4]-a[0][0]*a[1][1]*a[3][3]*a[4][2]*a[2][4]+a[1][1]*a[2][2]*a[4][0]*a[0][3]*a[3][4]+a[3][2]*a[2][3]*a[1][0]*a[0][1]*a[4][4]-a[3][2]*a[2][3]*a[4][0]*a[0][1]*a[1][4]-a[3][3]*a[4][0]*a[0][1]*a[1][2]*a[2][4]+a[3][3]*a[4][2]*a[1][0]*a[0][1]*a[2][4]+a[3][3]*a[2][1]*a[1][0]*a[0][2]*a[4][4]-a[3][3]*a[4][0]*a[0][2]*a[2][1]*a[1][4]+a[3][3]*a[2][1]*a[1][2]*a[4][0]*a[0][4]-a[3][3]*a[4][2]*a[2][0]*a[0][1]*a[1][4]-a[3][3]*a[4][1]*a[1][2]*a[2][0]*a[0][4]-a[3][3]*a[4][2]*a[2][1]*a[1][0]*a[0][4]-a[3][3]*a[4][1]*a[1][0]*a[0][2]*a[2][4]+a[3][3]*a[2][0]*a[0][1]*a[1][2]*a[4][4]+a[3][3]*a[2][0]*a[0][2]*a[4][1]*a[1][4]-a[3][2]*a[2][1]*a[1][3]*a[4][0]*a[0][4]-a[3][1]*a[1][2]*a[2][3]*a[4][0]*a[0][4]+a[3][1]*a[1][3]*a[2][0]*a[0][2]*a[4][4]-a[3][2]*a[2][1]*a[1][0]*a[0][3]*a[4][4]-a[3][2]*a[2][0]*a[0][1]*a[1][3]*a[4][4]-a[3][1]*a[1][0]*a[0][2]*a[2][3]*a[4][4]-a[3][1]*a[1][3]*a[4][2]*a[2][0]*a[0][4]-a[3][1]*a[1][3]*a[4][0]*a[0][2]*a[2][4]-a[3][2]*a[2][0]*a[0][3]*a[4][1]*a[1][4]-a[3][0]*a[0][1]*a[1][2]*a[2][3]*a[4][4]-a[3][1]*a[1][0]*a[0][3]*a[4][2]*a[2][4]-a[3][0]*a[0][1]*a[1][3]*a[4][2]*a[2][4]+a[4][2]*a[2][1]*a[1][3]*a[3][0]*a[0][4]-a[4][3]*a[2][1]*a[1][2]*a[3][0]*a[0][4]-a[3][0]*a[0][3]*a[4][1]*a[1][2]*a[2][4]-a[3][0]*a[0][3]*a[4][2]*a[2][1]*a[1][4]+a[3][0]*a[0][3]*a[2][1]*a[1][2]*a[4][4]-a[3][0]*a[0][2]*a[2][3]*a[4][1]*a[1][4]-a[3][0]*a[0][2]*a[2][1]*a[1][3]*a[4][4]-a[3][1]*a[1][2]*a[2][0]*a[0][3]*a[4][4]+a[4][3]*a[3][2]*a[2][1]*a[1][0]*a[0][4]+a[4][3]*a[3][1]*a[1][0]*a[0][2]*a[2][4]+a[4][1]*a[1][2]*a[2][3]*a[3][0]*a[0][4]-a[4][1]*a[1][3]*a[2][0]*a[0][2]*a[3][4]+a[4][1]*a[1][3]*a[3][2]*a[2][0]*a[0][4]+a[4][1]*a[1][3]*a[3][0]*a[0][2]*a[2][4]+a[4][2]*a[2][3]*a[3][1]*a[1][0]*a[0][4]-a[4][3]*a[2][1]*a[1][0]*a[0][2]*a[3][4]-a[4][3]*a[2][0]*a[0][1]*a[1][2]*a[3][4]-a[4][3]*a[2][0]*a[0][2]*a[3][1]*a[1][4]+a[4][3]*a[3][1]*a[1][2]*a[2][0]*a[0][4]+a[4][2]*a[2][0]*a[0][3]*a[3][1]*a[1][4]+a[4][0]*a[0][2]*a[2][3]*a[3][1]*a[1][4]+a[4][0]*a[0][3]*a[3][1]*a[1][2]*a[2][4]+a[4][0]*a[0][3]*a[3][2]*a[2][1]*a[1][4]-a[4][0]*a[0][3]*a[2][1]*a[1][2]*a[3][4]+a[4][0]*a[0][2]*a[2][1]*a[1][3]*a[3][4]+a[4][0]*a[0][1]*a[1][2]*a[2][3]*a[3][4]+a[4][2]*a[2][0]*a[0][1]*a[1][3]*a[3][4]+a[4][1]*a[1][0]*a[0][3]*a[3][2]*a[2][4]-a[4][2]*a[2][3]*a[1][0]*a[0][1]*a[3][4]+a[4][2]*a[2][3]*a[3][0]*a[0][1]*a[1][4]+a[4][3]*a[3][0]*a[0][2]*a[2][1]*a[1][4]+a[4][3]*a[3][0]*a[0][1]*a[1][2]*a[2][4]-a[4][3]*a[3][2]*a[1][0]*a[0][1]*a[2][4]+a[4][3]*a[3][2]*a[2][0]*a[0][1]*a[1][4]+a[4][0]*a[0][1]*a[1][3]*a[3][2]*a[2][4]+a[4][1]*a[1][2]*a[2][0]*a[0][3]*a[3][4]+a[4][2]*a[2][1]*a[1][0]*a[0][3]*a[3][4]+a[4][1]*a[1][0]*a[0][2]*a[2][3]*a[3][4]+a[2][2]*a[4][3]*a[1][0]*a[0][1]*a[3][4]-a[2][2]*a[3][3]*a[1][0]*a[0][1]*a[4][4]-a[2][2]*a[4][1]*a[1][3]*a[3][0]*a[0][4]+a[2][2]*a[3][0]*a[0][1]*a[1][3]*a[4][4]-a[2][2]*a[4][3]*a[3][0]*a[0][1]*a[1][4]+a[2][2]*a[3][3]*a[4][0]*a[0][1]*a[1][4]+a[2][2]*a[3][3]*a[4][1]*a[1][0]*a[0][4]-a[2][2]*a[4][0]*a[0][3]*a[3][1]*a[1][4]+a[2][2]*a[3][1]*a[1][3]*a[4][0]*a[0][4]-a[2][2]*a[4][1]*a[1][0]*a[0][3]*a[3][4]+a[2][2]*a[3][1]*a[1][0]*a[0][3]*a[4][4]-a[2][2]*a[4][0]*a[0][1]*a[1][3]*a[3][4]-a[1][1]*a[2][2]*a[3][3]*a[4][0]*a[0][4]-a[1][1]*a[2][2]*a[3][0]*a[0][3]*a[4][4]+a[1][1]*a[2][2]*a[4][3]*a[3][0]*a[0][4]+a[1][1]*a[3][2]*a[2][0]*a[0][3]*a[4][4]-a[1][1]*a[3][3]*a[2][0]*a[0][2]*a[4][4]-a[1][1]*a[4][2]*a[2][0]*a[0][3]*a[3][4]+a[1][1]*a[3][3]*a[4][2]*a[2][0]*a[0][4]+a[1][1]*a[4][3]*a[2][0]*a[0][2]*a[3][4]-a[1][1]*a[4][2]*a[2][3]*a[3][0]*a[0][4]+a[1][1]*a[3][3]*a[4][0]*a[0][2]*a[2][4]-a[1][1]*a[4][3]*a[3][2]*a[2][0]*a[0][4]+a[1][1]*a[3][2]*a[2][3]*a[4][0]*a[0][4]+a[1][1]*a[3][0]*a[0][3]*a[4][2]*a[2][4]+a[1][1]*a[3][0]*a[0][2]*a[2][3]*a[4][4]-a[1][1]*a[4][3]*a[3][0]*a[0][2]*a[2][4]-a[1][1]*a[4][0]*a[0][2]*a[2][3]*a[3][4]-a[1][1]*a[4][0]*a[0][3]*a[3][2]*a[2][4]+a[0][0]*a[1][1]*a[2][2]*a[3][3]*a[4][4]-a[0][0]*a[1][1]*a[2][2]*a[4][3]*a[3][4]+a[0][0]*a[1][1]*a[4][3]*a[3][2]*a[2][4]-a[0][0]*a[2][2]*a[3][1]*a[1][3]*a[4][4]+a[0][0]*a[2][2]*a[4][1]*a[1][3]*a[3][4]+a[0][0]*a[2][2]*a[4][3]*a[3][1]*a[1][4]-a[0][0]*a[2][2]*a[3][3]*a[4][1]*a[1][4]-a[0][0]*a[4][2]*a[2][3]*a[3][1]*a[1][4]-a[0][0]*a[4][3]*a[3][1]*a[1][2]*a[2][4]-a[0][0]*a[4][3]*a[3][2]*a[2][1]*a[1][4]+a[0][0]*a[4][3]*a[2][1]*a[1][2]*a[3][4]-a[0][0]*a[3][3]*a[2][1]*a[1][2]*a[4][4]+a[0][0]*a[3][2]*a[2][3]*a[4][1]*a[1][4]+a[0][0]*a[3][3]*a[4][2]*a[2][1]*a[1][4]+a[0][0]*a[3][3]*a[4][1]*a[1][2]*a[2][4]+a[0][0]*a[3][1]*a[1][3]*a[4][2]*a[2][4]+a[0][0]*a[3][1]*a[1][2]*a[2][3]*a[4][4]+a[0][0]*a[3][2]*a[2][1]*a[1][3]*a[4][4]-a[0][0]*a[4][2]*a[2][1]*a[1][3]*a[3][4]-a[0][0]*a[4][1]*a[1][2]*a[2][3]*a[3][4])/det;    
}   
    

void matrix_transpose6(double a[6][6], double atr[6][6])
{
   int i, j;
   for(i=0; i<6; i++)
   {
       for (j=0; j<6; j++)
       {
        atr[i][j] = a[j][i];
       }
   }
}

void mult_matrixvector6(double a[6][6], double b[6][1], double result[6][1])
{
   int i;
   for(i=0; i<6; i++)
   {
		  result[i][0] = a[i][0] * b[0][0] + a[i][1] * b[1][0] 
          + a[i][2] * b[2][0]+ a[i][3] * b[3][0]+ a[i][4] * b[4][0]
          + a[i][5] * b[5][0];
   }
}

void matrix_sub(double a[3][3], double b[3][3], double result[3][3])
{
   int i, j;
   for(i=0; i<3; i++)
   {
       for (j=0; j<3; j++)
       {
		  result[i][j] = a[i][j] - b[i][j];
       }
   }
}

/* POSH MATRIX FUNCTION, TO BE IMPLEMENTED */
// matrix inversion
// the result is put in Y
// void MatrixInversion(float **A, int order, float **Y)
// {
//     int i, j;
//     double det;
//     float *temp, **minor;
//     
//     // get the determinant of a
//     det = 1.0/CalcDeterminant(A,order);
// 
//     // memory allocation
// //    float *temp = new float[(order-1)*(order-1)];
// //    float **minor = new float*[order-1];
//     temp = malloc(((order-1)*(order-1))*sizeof(double)); 
//     minor = malloc((order-1)*sizeof(double *)); 
//     
//     for(i=0;i<order-1;i++)
//         minor[i] = temp+(i*(order-1));
// 
//     for(j=0;j<order;j++)
//     {
//         for(i=0;i<order;i++)
//         {
//             // get the co-factor (matrix) of A(j,i)
//             GetMinor(A,minor,j,i,order);
//             Y[i][j] = det*CalcDeterminant(minor,order-1);
//             if( (i+j)%2 == 1)
//                 Y[i][j] = -Y[i][j];
//         }
//     }
// 
//     // release memory
//     free(minor[0]);
//     free(minor);
// }
// 
// // calculate the cofactor of element (row,col)
// int GetMinor(float **src, float **dest, int row, int col, int order)
// {
//     // indicate which col and row is being copied to dest
//     int colCount=0,rowCount=0;
//     int i, j;
//     
//     for(i = 0; i < order; i++ )
//     {
//         if( i != row )
//         {
//             colCount = 0;
//             for(j = 0; j < order; j++ )
//             {
//                 // when j is not the element
//                 if( j != col )
//                 {
//                     dest[rowCount][colCount] = src[i][j];
//                     colCount++;
//                 }
//             }
//             rowCount++;
//         }  
//     }
//     return 1;
// }
// 
// // Calculate the determinant recursively.
// double CalcDeterminant( float **mat, int order)
// {
//     float det, **minor;
//     int i;
//     // order must be >= 0
// 	// stop the recursion when matrix is a single element
//     if( order == 1 )
//         return mat[0][0];
// 
//     // the determinant value
//    
//    det = 0;
// 
//     // allocate the cofactor matrix
//     minor = malloc((order-1)*sizeof(double *));
// //    minor = new float*[order-1]; 
//      for(i=0;i<order-1;i++)
// //         minor[i] = new float[order-1];
//        minor[i] = malloc((order-1)*sizeof(double)); 
// // 
//     for(i = 0; i < order; i++ )
//     {
//         // get minor of element (0,i)
//         GetMinor( mat, minor, 0, i , order);
//         // the recusion is here!
//         det += pow( -1.0, i ) * mat[0][i] * CalcDeterminant( minor,order-1 );
//     }
// // 
//     // release memory
//     for(i=0;i<order-1;i++)
//         free(minor[i]);
//     free(minor);
// //         for(int i=0;i<order-1;i++)  
// //         delete [] minor[i];  
// //      delete [] minor;  
// 
//     return det;
// }